标签:
闭包
使用场景,比如这个局部变量的值要一直使用,则这是一个很好的保存该值的方法
function f1(){
var n=999;
nAdd=function(){n+=1}
function f2(){
alert(n);
}
return f2;
}
var result=f1();
result(); // 999
nAdd();
result(); // 1000
f1没有被回收的原因是:
1)f2函数在f1函数内部(f2依赖f1)
2)f2被赋值给了全局变量
原理
function a() {
var i = 0;
function b() {
alert(++i);
}
return b;
}
var c = a();
c();
标签:
原文地址:http://www.cnblogs.com/juzi-123/p/5721799.html