/**
* @function promise版 函式節流 (函式裝飾器)
* @param fn 要節流的函式
* @param delay 節流時間(毫秒)
* @param mustrundelay 必須執行的時間間隔(毫秒)(用於拖拽等,防止閃跳)
* @return function 處理過的已節流的函式
*/function
throttle
(fn, delay, mustrundelay)
else
if(firstrun)
else
, delay);}
});}
;}
引數說明:mustrundelay 在此時間內必須執行一次,常用於拖拽等在一段時間內必須執行的情況。
假如不設此引數,就可能出現拖拽時從一點閃跳到另一點,沒有拖動過程的情況。
樣例:
// 原未節流函式
const
onclick
=function()
// onclickthrottle 就是節流處理過的函式
const onclickthrottle =
throttle
(onclick,
2000
);
javascript函式節流
應用場景 實時輸入檢測 如根據使用者輸入文本來實時查詢資料 判斷註冊使用者名稱是否重複 郵箱格式檢驗 頁面滾動操作onscroll事件 頁面視窗大小改變onresize事件 滑鼠移入移出事件onmouseover,onmouseout 對於以上高頻率的執行操作來說如果不進行節流控制的話,一旦請求頻繁...
JavaScript 函式節流
個人理解 瀏覽器某個事件觸發的平率非常高 例如onscroll事件 如果每次都去執行處理事件的邏輯,消耗大量的cpu資源導致瀏覽器卡死,因此需要在一段時間內只執行最後一次函式的函式叫做函式節流。n 0 function resizehandler function throttle method,c...
函式節流總結
函式節流 在呼叫window.onresize事件時,如果操作頻繁操作dom極為耗效能,因此在這種情況下可以通過定時器對該函式進行節流。函式節流背後的基本思想是 某些 不可以在沒有間斷的情況連續重複執行。第一次呼叫函式,建立乙個定時器,在指定的間隔之後執行 第二次呼叫函式,它會清除前一次的定時器並設...