JS - 闭包
什么是闭包
闭包主要是为了设计 私有的方法 和变量, 可以避免全局变量的污染
缺点是会造成内存常驻,使用不当容易造成内存泄漏, 造成内存使用量过大
闭包有三个特性:
1.函数嵌套函数
2.函数内部可以引用外部的参数和变量
3.参数和变量不会被垃圾回收机制回收
实例
将变量放在包中 防止全局污染
function f1(){
var n=999;
nAdd=function(){n+=1}
function f2(){
alert(n);
}
return f2;
}
var result=f1();
result(); // 999
nAdd();
result(); // 1000