什麼是防抖和節流?有什麼區別?如何實現?

2021-10-17 18:51:04 字數 568 閱讀 9257

防抖:連續觸發事件,只要不是最後一次觸發,就不執行非同步操作

點我試試<

/button>

var btn = document.

queryselector

('button'

)var timer =

null

btn.

onclick

=function()

,500)}

<

/script>

節流:第一次發生請求後,只要響應沒回來,就不能傳送第二次(定義了乙個開關控制)

點我試試<

/button>

var btn = document.

queryselector

('button'

)// 節流閥 定義了乙個開關

var flag =

true

btn.

onclick

=function()

,1000)}

}<

/script>

什麼是防抖和節流?有什麼區別?如何實現? 總結

有這樣一種應用場景,在滾動事件中做乙個複雜取值計算或者頻繁的觸發乙個事件,這是很影響效能並容易導致頁面卡頓的,所以要合併多次請求,通過函式做乙個精確操作。這時就會用到函式防抖或者函式節流,那麼,這兩種方式有什麼區別呢?防抖 debounce 當持續觸發事件時,一定時間段內沒有再觸發事件,事件處理函式...

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

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

什麼是防抖和節流?

雖然二者都有延遲當前動作的反饋,但是防抖的延遲時間是確定的,延遲週期內如果有新動作進入,舊的動作將會被取消。而節流是提前設定了乙個閥門,只有當閥門開啟的時候,該動作才有機會執行。如果閥門是關閉的,那這個動作就不會進入執行區。個人理解防抖是後置的處理高頻事件方式,而節流是前置處理。防抖機制隱含了乙個優...