JS函式節流,解決頻繁觸發函式得效能問題

2021-09-05 09:21:38 字數 517 閱讀 6080

前段時間專案中有個搜尋需求,通過input事件輸入搜尋。因為增加減少字母操作都會觸發請求,使用者數量一多得話開銷很大影響效能;因此通過函式節流提公升效能問題。

search: function() )

}, 1000);

}

另外通過查閱資料,發現滑鼠滾動其實也有相關問題,也可以通過這種操作去處理。

var range = 10*10;//定義返回10px 小麵 三角函式未開方 所有這裡需要*10

var currentpoint;

function distance( p1, p2 )

$( '#div' ).on( 'mousemove', function ( e ) ;

};if ( distance( currentpoint, e.ponit ) < range ) return;

// 正常執行的**

currentpoint = {};

});

js函式節流(Throttle)

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

js原生函式節流

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

JS函式節流 函式防抖

函式節流 throttle 函式節流 加入函式節流函式 使用方法 this.refs.throttle.addeventlistener scroll throttle that.console,300 函式防抖 debounce 很明顯,這樣的做法不好的是當使用者輸入第乙個字元的時候,就開始請求判...