概念
闭包(closure):指有权访问另一个函数的变量的函数
eg:
function add(a) {
return (b) => { // 形成闭包
return a + b;
}
}
// js 链式作用域:子对象会一级一级向上寻找所有父对象的变量,反之不行(函数外部不能访问函数内部的变量)。
匿名函数使用了变量 a ,致使 a 在调用结束后不会被垃圾回收机制回收。
用途
- 读取函数内部的变量
- 让这些变量的值始终保持在内存中,不会被回收。
- 方便调用上下文的局部变量。