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