1、原理
js按照固定的時間間隔找到不在繼續使用的變量,釋放其占用的內存。
2.實現方式
(1)標記清除
垃圾收集器給存儲在內存上的所有變量都加上標記;
之后,去掉環境中的變量以及被環境引用變量的標記;
之后,被加上標記的變量就是准備刪除的變量(原因是環境中的變量無法訪問到這些變量了)。
目前,IE、firefox、opera、chrome和Safari瀏覽器都是標記清除的垃圾回收策略,只是回收時間間隔不一樣。
(2)引用計數
原理:記錄每個變量被引用的次數。釋放引用計數為0的變量所占用的內存。
IE9 將BOM和DOM對象轉換成了真正的js對象。
3、管理內存
背景:分配給瀏覽器的可用內存通常會比桌面應用程序少。
因此,如何使用最少的內存讓頁面獲得最優的性能,就需要考慮管理內存。
一個比較好的做法是:解除引用,即不再使用的變量設置為null。