目的瀏覽器
如下場景每每因爲事件頻繁被觸發,於是頻繁執行DOM操做、資源加載等重行爲,致使UI停頓甚至瀏覽器崩潰。函數
window
對象的resize
、scroll
事件mousemove
事件mousedown
、keydown
事件keyup
事件throttle(又稱節流)和debounce(又稱去抖)其實都是函數調用頻率的控制器,spa
當調用函數n
秒後,纔會執行該動做,若在這n
秒內又調用該函數則將取消前一次並從新計算執行時間,舉個簡單的例子,咱們要根據用戶輸入作suggest,每當用戶按下鍵盤的時候均可以取消前一次,而且只關心最後一次輸入的時間就好了。code
throttle將一個函數的調用頻率限制在必定閾值內,例如1s
內一個函數不能被調用兩次。對象
具體實現 不表遊戲