防抖
在事件被觸發(fā)n秒后再執(zhí)行回調(diào)壶硅,如果在這n秒內(nèi)又被觸發(fā)婉徘,則重新計時绕娘。
節(jié)流
規(guī)定在一個單位時間內(nèi)委可,只能觸發(fā)一次函數(shù)映皆。如果這個單位時間內(nèi)觸發(fā)多次函數(shù)访敌,只有一次生效凉敲。
總結(jié)
- 函數(shù)防抖和函數(shù)節(jié)流都是防止某一時間頻繁觸發(fā),但是這兩兄弟之間的原理卻不一樣寺旺。
- 函數(shù)防抖是某一段時間內(nèi)只執(zhí)行一次爷抓,而函數(shù)節(jié)流是間隔時間執(zhí)行。
使用場景
節(jié)流
- 用戶在搜索的時候阻塑,在不停的輸入蓝撇,如果每敲一個字我們就要調(diào)一次接口去查詢,接口調(diào)用太頻繁陈莽,會占內(nèi)存給卡住渤昌。
- 手機號虽抄、郵箱驗證輸入檢測
防抖
- 窗口大小resize。只需窗口調(diào)整完成后独柑,計算窗口大小迈窟。防止重復渲染。
- 頁面滾動處理事件
- 鼠標不斷點擊觸發(fā)忌栅,mousedown(單位時間內(nèi)只觸發(fā)一次)
- 監(jiān)聽滾動事件车酣,比如是否滑到底部自動加載更多,用throttle來判斷