函數防抖是指在事件被觸發 n 秒后再執行回調,如果在這 n 秒內事件又被觸發,則重新計時。這可以使用在一些點擊請求的事件上,避免因為用戶的多次點擊向后端發送多次請求。
函數節流是指規定一個單位時間,在這個單位時間內,只能有一次觸發事件的回調函數執行,如果在同一個單位時間內某事件被觸發多次,只有一次能生效。節流可以使用在 scroll 函數的事件監聽上,通過事件節流來降低事件調用的頻率。
防抖函數的應用場景:
按鈕提交場景:防?多次提交按鈕,只執?最后提交的?次服務端驗證場景:表單驗證需要服務端配合,只執??段連續的輸?事件的最后?次,還有搜索聯想詞功能類似?存環境請?lodash.debounce
節流函數的適?場景:
拖拽場景:固定時間內只執??次,防?超?頻次觸發位置變動縮放場景:監控瀏覽器resize動畫場景:避免短時間內多次觸發動畫引起性能問題