闭包
function a(){
var n = 0;
this.fun = function () {
n++;
console.log(n);
};
}
var c = new a();
c.fun(); //1
c.fun(); //2
闭包就是能够读取其他函数内部变量的函数。在 js 中只有函数内部的子函数才能读取局部变量。所以可以简单的理解为:定义在内部函数的函数。
用途主要有两个:
1)前面提到的,读取函数内部的变量。
2)让变量值始终保持在内存中。
使用闭包 主要是为了设计私有的变量和方法,可以避免全局变量污染,缺点是闭包会常驻内存,增大内存使用量,使用不当会造成内存泄漏

浙公网安备 33010602011771号