重拾Javascript–闭包
概念
闭包就是其他函数能读取函数内部变量(局部变量).
变量
1.全局变量
var n=999;
function f1(){
alert(n);
}
f1(); // 999
2.局部变量(内部变量)
function f1(){
var n=999;
}
alert(n); // error
上面2段代码可以很清楚的看出全局变量跟局部变量的区别
如何闭包?
1.
function f1(){
var n=999;
function f2(){
alert(n); // 999
}
}
2.如何在f1中调用f2函数的变量呢?将f2 里面的值return 出来,然后f1调用即可
function f1(){
var n=999;
function f2(){
alert(n);
}
return f2;
}
var result=f1();
result(); // 999
总结