标签:
一句话:有权访问另一个函数作用域内变量的函数都是闭包。
有权访问另一个函数作用域内变量的函数都是闭包。
有权访问另一个函数作用域内变量的函数都是闭包。
说三遍的都是真理!
不多说看代码:
function a() {
var b = 0;
function c() {
alert(b++);
}
return c;
}
var d = a();
d();//b=0;
d();//b=1;
如上是一层嵌套,下面是两层:
function a() {
var b = 0;
function c() {
function f() {
alert(b++);
}
return f;
}
return c;
}
var d = a();
d();
d();
浏览器并没有弹窗而是打印出了
function f() {
alert(b);
}
而把 b(); 改成 b()(); 则可以正常反应。
* ()是指执行函数的意思。
标签:
原文地址:http://www.cnblogs.com/liu-liu/p/5490318.html