我有一種感覺,我知道這個問題的答案,但無論如何有通過控制檯查看當前值inside
?訪問關閉變量
var test = (function() {
var inside = 0;
return function() {
inside++;
console.log(inside);
return inside;
}
})();
我有一種感覺,我知道這個問題的答案,但無論如何有通過控制檯查看當前值inside
?訪問關閉變量
var test = (function() {
var inside = 0;
return function() {
inside++;
console.log(inside);
return inside;
}
})();
只要打電話test()
和console.log
會打印出值。
你的閉包是自引用的,但你的內部方法剛剛返回,所以它在你的例子中永遠不會被調用。
你應該使用:
var test = (function() {
var inside = 0;
return function() {
inside++;
console.log(inside);
return inside;
}
})();
test();//Will print 1
所以它會創建關閉和你的return
聲明將使內部函數的變量test
。所以你的test
成爲內在的功能。然後你需要調用它。
@downvoter關心評論?? –
我爲你效勞 –
@BelowtheRadar謝謝你。欣賞。 –
呃,是不是工作得很好,變量是否在範圍內? – adeneo
或者你的意思是在IIFE之外,是不是***,這是不可能的。 – adeneo
沒有執行它,在IIFE之外。 – KingKongFrog