0
我想了解JavaScript中的关闭。闭包是函数的局部变量 - 在函数返回后保持活动[reference]。Javascript关闭 - 父功能
在很多参考文献中,我看到他们在描述函数的关闭时考虑了父函数。但根据下面的例子中,我认为一个功能,可以在父功能访问不仅是变量,而且在盛大的父母及以上..
有人可以解释,如果我认为是正确与否? 预先感谢您..
test1 = function() {
var x = 10;
return function(){
alert(++x);
};
}
test2 = function() {
var x = 10;
return function(){
return function(){
alert(++x);
}
};
}
t1 = test1();
t1(); //11
t1(); //12
t2 = test2()();
t2(); //11
t2(); //12
我想你错过了'test1'顶部的一些代码 – 2014-10-31 13:38:50
如果一个父函数可以访问一个变量,那么孩子也可以。它不依赖* * immediate * parent中明确定义的变量。 – 2014-10-31 13:39:07
这里唯一重要的是变量的范围(变量被定义的地方)。您可以像定义变量一样访问最高级别。 – 2014-10-31 13:41:03