是什么
如下例子所示
function test() {
var age = 18
function addAge(){
age++;
alert(age)
}
return addAge
}
闭包有三个特性:
- 函数嵌套函数。
- 内部函数使用外部函数的参数和变量;
- 参数和变量不会被垃圾回收机制回收。
闭包的优点:
- 延长一个 变量的生命周期;
- 避免全局变量污染,创建一个私有的环境。
- 闭包的缺点: 常驻内存,增加内存使用量;
- 使用不当造成内存泄漏。