防抖和節流

2021-09-23 18:19:23 字數 816 閱讀 5815

防抖和節流的作用都是防止函式多次呼叫。區別在於,假設乙個使用者一直觸發這個函式,且每次觸發函式的間隔小於設定的時間,防抖的情況下只會呼叫一次,而節流的情況會每隔一定時間呼叫一次函式。

1. 防抖

⑴ 函式防抖(debounce):n秒內函式只會執行一次,如果n秒內高頻事件再次被觸發,則重新計算時間。如下例,對於高頻操作mousemove,沒有限制count函式執行頻率時,數字在不停的加一:

而防抖的場景即指的是持續觸發mousemove事件時,並不執行count函式,當1000毫秒內沒有觸發mousemove事件時,才會延時觸發count事件。

防抖封裝:

⑵ 防抖的應用場景:

2. 節流

⑴ 函式節流:高頻事件在規定時間內只會執行一次,執行一次後,只有大於設定的執行週期後才會執行第二次。如下圖,持續觸發mousemove事件時,並不立即執行count函式,每隔1000毫秒才會執行一次count函式。

節流封裝:

⑵ 函式節流的應用場景有:

李趙同學猛猛噠~ 前端麻辣燙

劉小夕

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

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

防抖和節流

在前端開發過程中,我們經常需要繫結一些持續觸發事件,如 resize scroll mousemove等等,但有些時候我們並不希望在事件持續觸發的過程中那麼頻繁的去執行函式。通常這種情況下,我們怎麼去解決呢?一般來講,防抖和節流是比較好的解決方案。一 函式的防抖 1 什麼是函式防抖 函式防抖 deb...

節流和防抖

在進行視窗的resize scroll,輸入框內容校驗等操作時,如果事件處理函式呼叫的頻率無限制,會加重瀏覽器的負擔,導致使用者體驗非常糟糕。此時我們可以採用debounce 防抖 和throttle 節流 的方式來減少呼叫頻率,同時又不影響實際效果。當持續觸發事件時,保證一定時間段內只呼叫一次事件...