var?a?=?function(){????
????????var?i?=?0;????
????????return?function(){
????????++i;
????}?
}()
a();//1
a();//2
var?b?=?function(){???
?????????var?i?=?0;????
?????????return?++i;
}
b();//1
b();//1對于第一個, i 由于被閉包引用所以沒被回收,這是可以理解的。但是,對于第二個例子,我們不用閉包的時候之所以i每次都為0是因為每次都運行了var i= 0,這跟回收沒關(guān)系吧?那怎么理解“函數(shù)運行完后變量就被回收”這句話呢?我們定義一個全局變量:var grobal = 10; 它為什么沒被回收?
有一個關(guān)于變量回收的問題,請教各位大神,謝謝
慕田峪8701529
2018-05-21 00:15:19