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對(duì)于第一個(gè), i 由于被閉包引用所以沒(méi)被回收,這是可以理解的。但是,對(duì)于第二個(gè)例子,我們不用閉包的時(shí)候之所以i每次都為0是因?yàn)槊看味歼\(yùn)行了var i= 0,這跟回收沒(méi)關(guān)系吧?那怎么理解“函數(shù)運(yùn)行完后變量就被回收”這句話(huà)呢?我們定義一個(gè)全局變量:var grobal = 10; 它為什么沒(méi)被回收?
有一個(gè)關(guān)于變量回收的問(wèn)題,請(qǐng)教各位大神,謝謝
慕田峪8701529
2018-05-21 00:15:19