JS 函式防抖和函式節流

2021-10-01 05:39:19 字數 585 閱讀 4221

所謂防抖,就是指觸發事件後在 n 秒內函式只能執行一次,如果在 n 秒內又觸發了事件,則會重新計算函式執行時間。

function

debounce

(func,wait)

, wait)

if(callnow) func.

(context, args)

}}

所謂節流,就是指連續觸發事件但是在 n 秒中只執行一次函式。節流會稀釋函式的執行頻率。

比較典型的就是 輸入框在輸入過程中需要給後台傳送請求, 這個時候就需要進行節流操作, 在使用者停止輸入指定的時間之後再傳送請求

// 1.不使用箭頭函式 

function

throttle

(func, wait)

, wait)}}

}// 2. 使用箭頭函式

function

throttle

( func, wait)

timeout =

settimeout((

)=>

, wait)

}}

JS函式節流和函式防抖

防抖 debounce 和節流 throttle 都是用來控制某個函式在一定時間內執行多少次的技巧,兩者相似而又不同。背後的基本思想是某些 不可以在沒有間斷的情況下連續重複執行。如果乙個事件被頻繁觸發多次,並且觸發的時間間隔過短,則防抖函式可以使得對應的事件處理函式只執行最後觸發的一次。函式防抖可以...

js函式防抖和函式節流

函式防抖 就是指觸發事件後在 n 秒內函式只能執行一次,如果在 n 秒內又觸發了事件,則會重新計算函式執行時間。在頻繁觸發的情況下,只有在停止觸發的時候才會執行 函式節流 限制乙個函式在一定時間內只能執行一次。目的 函式防抖和函式節流都是用來優化高頻率執行js 的手段 簡而言之就是在一定時間內,把高...

js函式防抖和函式節流

js函式防抖和函式節流函式 函式防抖 debounce.js 就是指觸發事件後在 n 秒內函式只能執行一次,如果在 n 秒內又觸發了事件,則會重新計算函式執行時間。函式節流 throttle.js 就是指連續觸發事件但是在 n 秒中只執行一次函式。debounce.js 函式防抖 函式被頻繁呼叫時使...