什麼是js的防抖?
防抖指的是觸發事件後在n秒內函式只執行一次,若在n秒內再次觸發事件則重新計算,函式不會重複執行。
在實際專案中我們可能會碰到搜尋框會浪費大量的請求。比如我們有乙個input,每次使用者在搜尋框輸入的時候就觸發oninput事件然後傳送請求。
以下**是未優化前
優化後
let input = document.
getelementbyid
("input");
let num =1;
function
sendrequest()
// 我們想讓使用者輸入完畢後過1s後再查詢
// 所以我們使用防抖,設定乙個定時器,傳入要執行的函式,延時的時間
function
debounce
(fn, wait)
, wait);}
;}input.oninput =
debounce
(sendrequest,
2000
);
微信小程式如何實現搜尋框的防抖功能
1 首先給輸入框繫結乙個bindinput事件,只要輸入框內的值改變就會觸發該函式 placeholder 請輸入您要搜尋的內容 bindinput handleinput input 2 定義乙個變數timeid,該值為定時器的返回值,作用是方便等會兒清除定時器。3 在handleinput函式中...
js優化之防抖節流
應用場景 搜尋框 滾動條的監聽事件處理,防止每輸入乙個字 滾動螢幕,都會觸發事件處理,造成效能浪費。短時間內大量觸發同一事件,只會執行一次函式,實現原理為設定乙個定時器,約定在xx毫秒後再觸發事件處理,每次觸發事件都會重新設定計時器,直到xx毫秒內無第二次操作 引數1為觸發事件函式,參2位延遲時間 ...
JS效能優化 防抖和節流
防抖和節流嚴格算起來應該屬於效能優化的知識,但實際上遇到的頻率相當高,處理不當或者放任不管就容易引起瀏覽器卡死。舉個例子吧 監聽滾動條的高度 需求很簡單,直接寫 function showtop window.onscroll showtop 但是!你會發現只要你一改變高度,它就會列印一次高度,隨便...