分時函式和函式節流的問題不一樣,函式節流針對的事件不是使用者主動呼叫的,前面已經提過了。
函式節流的原理是:延遲當前函式的執行,如果該次延遲還沒有完成,那麼忽略接下來該函式的請求。也就是說會忽略掉很多函式請求。
分時函式處理的問題是使用者主動呼叫的,比如插入千百個節點
var arr = ;
for (var i = 1; i
<= 1000; i++)
var renderfriendlist = function
(data)
}renderfriendlist(arr)
分時函式的原理是讓建立節點的工作分批進行,比如把1s建立1000個節點,改為每200ms建立8個節點(其實就是一種非同步函式的思想)
var timechunk = function
(arr, fn, count)
};return
function
() start()
}, 200)
}}var renderfriendlist = timechunk(arr, function
(n) , 8)
renderfriendlist();
Js效能優化
1.使用區域性變數來轉接全域性變數或深層屬性,縮小物件訪問層級 2.慎用with,因為with加深了內部的作用域鏈 3.eval無法提前被解析和優化,即無法被預編譯,所以要慎用。4.對字串細化操作時要轉化成字串物件new sting,省得內部每一次都要進行 轉換,影響效率。正規表示式也是如此。5.與...
JS效能優化
下面是一些關於客戶端js效能的一些優化的小技巧 1.頂 關於js的迴圈,迴圈是一種常用的流程控制。js提供了三種迴圈 for while for in 在這三種迴圈中 for in 的效率最差,因為它需要查詢hash鍵,因此應盡量少用for in 迴圈,for while 迴圈的效能基本持平。當然,...
JS效能優化
下面是一些關於客戶端js效能的一些優化的小技巧 1.頂 關於js的迴圈,迴圈是一種常用的流程控制。js提供了三種迴圈 for while for in 在這三種迴圈中 for in 的效率最差,因為它需要查詢hash鍵,因此應盡量少用for in 迴圈,for while 迴圈的效能基本持平。當然,...