性能優化之函數防抖動
阿新 • • 發佈:2019-05-10
想法 總結 行修改 本質 時間 響應 ron home 實現 函數防抖動是一種常見的優化高頻率調用函數的手段,核心是把高頻率調用的函數優化為在某一時間段內只調用一次
根據具體調用的時機可以分為兩種,分別是先調用防抖以及後調用防抖
先調用防抖
先調用防抖是指先調用函數,然後等待一段時間,在等待時間結束後再進行下一次調用,如果在等待時間結束前發生了多次調用,則只會響應第一次。調用時間線如下所示
根據這個想法,可以大致得到如下代碼
後調用防抖
後調用防抖則是先等待一段時間,在等待時間結束後調用函數,如果在等待時間結束前再次調用,則需重新計時並等待。調用時間線如下所示
在原有代碼基礎上進行修改,增加後調用的防抖動方法
將防抖動的代碼合並一下,得到完整的防抖動代碼
應用場景
keyup、keydown等頻繁觸發的事件監聽
表單驗證、輸入搜索、點擊搜索
其他會頻繁調用的函數等
總結
函數防抖動本質上是檢測前後兩次連續間隔內的函數調用,把時間間隔內的多次函數調用合並成一次,從而實現對頻繁調用的函數的優化
先調用防抖是立即執行時間間隔內的第一次函數調用,應用場景相對較少
後調用防抖是執行時間間隔內的最後一次函數調用,應用場景相對較多
文章來自公眾號:睿江雲計算
睿江雲官網鏈接:https://www.eflycloud.com/home?from=RJ0024
性能優化之函數防抖動