前端面試必備 防抖與節流之節流及其封裝函式

2021-10-23 18:54:55 字數 303 閱讀 2274

節流相對於防抖來說就很好理解了,節流就是限制流量,比如,在一段時間內,只能觸發一次,而不是像防抖一樣,一直延遲延遲。

在這裡,這段時間就是乙個判斷標準,我們只需要取此次觸發事件的時間和上次觸發事件的時間的差值,與我們設定的這段時間進行比較即可,如果超過,那麼就可以觸發,如果不可以,就要重新設定計時器。

看過防抖的小夥伴看節流一定更加流暢,鑑於節流比較簡單,就直接上**加注釋。

function throttle(fn,delay)else,delay)}}

}

不了解的可以看下防抖部分

前端防抖與節流

在某些高頻度觸發的事件中繫結操作需要用到節流函式。最常見的打個栗子,如果要在window的滾動事件中傳送ajax請求載入更多資料。有需要的童鞋可以把此段複製到html檔案中自行檢視效果。我們來看看此時頁面的表現效果。此時我們可以看到console.log 1 被高頻度觸發。如果此時scroll裡面觸...

前端防抖節流

防抖和節流是前端最基本的效能優化,在繫結監聽事件onmousemove,onmousewheel時,如果觸發過於頻繁,在一次觸發尚未執行完時又再次觸發,就會造成瀏覽器丟幀,進而影響使用者體驗,防抖和節流就是為了解決這個問題。防抖 在事件觸發n秒後再執行這個函式,如果在n秒內又觸發則重新計時 func...

節流與防抖

瀏覽器中某些計算和處理要比其他的昂貴,例如在瀏覽器中操作dom比非dom互動需要更多的記憶體和cpu的事件,連續嘗試進行過多的dom相關操作可能ui導致瀏覽器掛起,有時甚至會崩潰。尤其在ie中使用onresize事件處理程式的時候容易發生,當調整瀏覽器大小的時候,該事件會連續觸發。在onresize...