垃圾回收機(jī)制
瀏覽器的 Javascript 具有自動(dòng)垃圾回收機(jī)制(GC:Garbage Collecation)揭厚,也就是說(shuō)拥刻,執(zhí)行環(huán)境會(huì)負(fù)責(zé)管理代碼執(zhí)行過(guò)程中使用的內(nèi)存仿野。其原理是:垃圾收集器會(huì)定期(周期性)找出那些不在繼續(xù)使用的變量卖擅,然后釋放其內(nèi)存呼伸。但是這個(gè)過(guò)程不是實(shí)時(shí)的,因?yàn)槠溟_銷比較大并且GC時(shí)停止響應(yīng)其他操作睹耐,所以垃圾回收器會(huì)按照固定的時(shí)間間隔周期性的執(zhí)行辐赞。
只有函數(shù)內(nèi)的變量才可能被回收
不再使用的變量也就是生命周期結(jié)束的變量,當(dāng)然只可能是局部變量硝训,全局變量的生命周期直至瀏覽器卸載頁(yè)面才會(huì)結(jié)束响委。局部變量只在函數(shù)的執(zhí)行過(guò)程中存在,而在這個(gè)過(guò)程中會(huì)為局部變量在椊蚜海或堆上分配相應(yīng)的空間赘风,以存儲(chǔ)它們的值,然后在函數(shù)中使用這些變量纵刘,直至函數(shù)結(jié)束邀窃,而閉包中由于內(nèi)部函數(shù)的原因,外部函數(shù)并不能算是結(jié)束假哎。