HTML5中垃圾回收機制深度影響了網頁性能和用戶的體驗,而充分理解垃圾回收機制的工作原理和相關代碼實現,可以提升網頁性能,優化用戶的體驗。
var myObj = {name: "Tony", age: 20}; //新建一個對象 console.log(myObj); //輸出結果:{name: "Tony", age: 20} myObj = null; //將myObj對象賦值為null,以便釋放掉之前創建的對象
代碼實現中,我們通常需要創建很多對象,但同時也需要注意及時回收這些不再使用的對象,以免浪費系統資源。
var objArray = []; //創建一個數組 for (var i = 0; i< 10000; i++) { objArray[i] = {name: "Tony", age: 20}; //給數組中的每個元素賦值,注意不要忘記數組下標 } var obj = objArray[500]; //將數組中的某個對象賦值給一個變量 objArray = null; //將數組賦值為null,以便釋放內存資源 console.log(obj); //可正常輸出結果:{name: "Tony", age: 20}
除了手動進行垃圾回收之外,HTML5還提供了自動垃圾回收機制,可自動檢測和釋放未引用的內存。
function firstName() { var name = "Tony"; //在函數中創建一個變量 setTimeout(function() { console.log(name); //引用該變量,可正常輸出結果 }, 1000); } firstName(); //調用函數
上述代碼中,在函數內部創建了一個變量name,在setTimeout函數中進行引用。由于該函數中的name變量已經超過了其作用域,再也不會需要使用,因此可被垃圾回收機制自動檢測到并自動釋放。
上一篇y軸+css
下一篇zepto css選擇器