js防抖與節流以及應用場景

2021-10-04 04:49:34 字數 599 閱讀 3444

在前端開發中會遇到一些頻繁的事件觸發,例如input,keyup,keydown,scroll,resize,mousemove等,這非常影響效能,所以我們需要控制它們觸發的頻率,方法就是防抖與節流。

//debounce

function

debounce

(func, wait)

, wait);}

}

// 如果直接使用underscore.js

// _.throttle(func,2000,)

// 第一次觸發: leading:true;

// 最後一次觸發: training:true;

// 沒有都為false的情況

function

throttle

(func, wait)

}}

function

throttle

(func, wait)

, wait)}}

}

防抖:

節流:

JS節流 防抖的區別,以及應用場景

函式節流與函式防抖都是為了限制函式的執行次數,以優化函式觸發頻率過高導致的響應速度跟不上觸發頻率,出現延遲 假死或卡頓的現象。函式節流 當持續觸發事件時,每隔一段時間函式就觸發一次,不管在這段時間內,觸發了多少次事件,在這段之間內就只觸發一次。舉個例子,input框中輸入內容,觸發keyup事件,通...

防抖和節流 應用場景及實現

概念 假定時間間隔為200ms,如果觸發事件後的200ms內再次觸發事件,則重新等待200ms,否則將成功執行指定函式。應用場景 資料查詢 監控使用者輸入 實現 function search t settimeout 2000 var test1 document.getelementbyid t...

函式節流和防抖 以及使用場景

二 防抖 定時器版 推薦 小結節流和防抖是前端工作中使用頻率很高的技巧,合理使用可以提高前端效能,減輕伺服器壓力。我們通過輸入框來觀察時間觸發頻率以及觸發時獲取到的值。lang en charset utf 8 name viewport content width device width,ini...