JS闭包
用一个函数 去访问 另外一个函数的内部变量的方式就是闭包。
内部变量是局部变量 局部变量只能在函数作用域的内部使用。
闭包的特点:
优点:不产生全局变量,实现属性私有化。
缺点:闭包中的数据会常驻内存,在不用的时候要删掉否则会导致内存溢出。
function outFun() {
var a = 0;
function inFun() {
a++;
alert(a);
}
return inFun;
}
var obj = outFun();
obj(); //输出1
obj(); //输出2
var obj2 = outFun();
obj2(); //输出1
obj2(); //输出2