防抖和節流簡介

2021-10-09 14:03:20 字數 710 閱讀 9585

當事件被頻繁觸發時,不想讓其頻繁執行事件處理函式的一種解決方案。

該方案通過設定乙個週期延遲執行動作,如果週期內又被重新觸發,則重新設定週期,直到週期結束,執行動作。

節流的方案是通過設定乙個週期,在週期內只執行一次,如果在週期內重新觸發事件,則不執行。乙個週期結束後,開始新的週期。

頻繁觸發事件會占用較多瀏覽器資源造成瀏覽器卡頓

響應速度跟不上觸發速度,導致頁面載入緩慢

function

debounce

(fun, delay)

, delay);}

}

它規定了執行的週期,週期一到就執行,它的週期可能會一直延長,因為它的週期會重新計時

該方法適用於雖然觸發事件很頻繁但仍有間隔的情況

function

throttle

(fun, delay)

, delay)

}else

}}

該方法由於觸發事件的隨機性需要通過時間戳計算執行週期,在週期內只執行一次,規定了執行的次數,它的週期是計算間隔的長度

該方法適用於一直觸發事件中間沒有間隔的情況

防抖和節流都是對與頻繁觸發事件的解決方案,旨在減少相應的次數以保持瀏覽器的高效執行

防抖和節流各有特色,可以根據需要進行選擇,防抖適用於有間隔的頻繁觸發事件的情況,節流適用於一直觸發事件的情況

防抖和節流簡介

背景 近期經常被問到防抖和節流,之前專案中也有遇到並且解決過,猛地一問這麼專業的術語如果之前沒有聽過還真容易發蒙,因此簡單整理一下,希望對需要的小夥伴們有所幫助。1.判斷回到頂部按鈕的顯示時機,一般需求是當頁面滑動距離頂部一定距離之後才需要顯示,此時我們一般只需要監聽瀏覽器滾動事件,返回當前滾動條與...

簡介 js 防抖和節流

前端 js 日常開發中,在頁面滑鼠移動 mousemove,或視窗的 resize scroll,輸入框內容校驗等高頻操作時,如果事件處理函式呼叫的頻率無限制,會加重瀏覽器的負擔,如果處理不當或放任不管很容易引起瀏覽器卡死,導致使用者體驗非常差。此時我們可以採用 debounce 防抖 和 thro...

防抖和節流 什麼是防抖和節流

目錄二 節流 有這樣一種情況,想象有乙個表單,點選提交按鈕就傳送請求給伺服器。如果使用者在很短的時間間隔內 手抖 點選了多次,又或者是惡意點選,那麼就將傳送多個請求。該行為將造成伺服器額外的不必要負載。所謂防抖,實際上就是是處理這種常見的情況的描述。submit該段 當點選submit按鈕的時候,將...