最近這幾天在研究瀏覽器性能的時候發現了一些小知識,在此做一總結:
其中經常用到的for循環有:正常的for循環,for in循環,for of循環等,但是對於正常的for循環可以做一下優化,使得其在執行過程中最節省瀏覽器的性能:
var arr = [1, 2, 3, 4]; for (var item in arr) { console.log("for in:", item, arr[item]); } for (var item of arr) { console.log("for of:", item); } for (var i = 0; i < arr.length; i++) { console.log("for:", arr[i], "O[n^2]"); } for (var i = 0, len = arr.length; i < len; i++) { console.log("for優化1:", arr[i], "O[n+1]") } for(var i=0,item;item=arr[i++];){ console.log("for優化2:",item,"O[n]"); }
最終的執行結果為:
其中for優化2的性能最好,在計算復雜度的時候,他僅僅只有n,而其他的都超過n,所以我們經常使用的原生代碼並不一定是性能最好的,還有待我們日后繼續研究!