JS總結 (一)函式節流

2022-07-18 12:33:13 字數 762 閱讀 8260

本篇思考三個問題:什麼是函式節流?為什麼要使用函式節流?如何實現?

一、基本思想:某些**不可以在沒有間斷的情況連續重複執行。

二、使用原因:dom操作比起非dom互動,需要更多的記憶體cpu時間,連續嘗試過多的dom操作可能會導致瀏覽器掛起,甚至崩潰。

三、實現方式:使用定時器對函式進行節流,即第一次呼叫函式,建立乙個定時器,在指定的時間間隔後執行**。當第二次呼叫該函式的時候,它會清除前一次的定時器並設定另外乙個

(如果前乙個定時器已經執行過,這個操作就沒有任何意義。然而如果前乙個定時器尚未執行,其實就是將其替換為乙個新的定時器。)

四、**實現:

由於節流在resize中是最常用的,如果基於該事件來改變頁面布局的話,最好控制處理頻率,以確保瀏覽器不會在極短的時間內進行過多次的計算。

function

resizediv()

function

throttle(method),100)

}window.onresize = function

()

五、應用場景

只要**是週期執行的,都應該節流。滑鼠的mousemove、scroll,瀏覽器視窗的resize事件等。

函式節流總結

函式節流 在呼叫window.onresize事件時,如果操作頻繁操作dom極為耗效能,因此在這種情況下可以通過定時器對該函式進行節流。函式節流背後的基本思想是 某些 不可以在沒有間斷的情況連續重複執行。第一次呼叫函式,建立乙個定時器,在指定的間隔之後執行 第二次呼叫函式,它會清除前一次的定時器並設...

js函式節流(Throttle)

在瀏覽器 dom 事件裡面,有一些事件會隨著使用者的操作不間斷觸發。比如 重新調整瀏覽器視窗大小 resize 瀏覽器頁面滾動 scroll 滑鼠移動 mousemove 也就是說使用者在觸發這些瀏覽器操作的時候,如果指令碼裡面繫結了對應的事件處理方法,這個方法就不停的觸發。而當事件處理比較複雜的時...

js原生函式節流

函式節流就是一定時間內只觸發一次函式。原理是通過判斷是否到達一定時間來觸發函式。時間戳方案 function throttle fn,wait function handle window.addeventlistener mousemove throttle handle,1000 定時器方案 f...