ホームページ >ウェブフロントエンド >jsチュートリアル >Javascript スロットル & デバウンス アプリケーション入門_基礎知識

Javascript スロットル & デバウンス アプリケーション入門_基礎知識

WBOY
WBOYオリジナル
2016-05-16 17:40:041381ブラウズ
Throttle
一定時間内の呼び出しをすべて無視します。発生頻度が比較的高く、処理が重い場合に使用します。
コードをコピーします コードは次のとおりです。

var throttle = function (func, Threshold, alt) {
var last = Date.now();
threshold = しきい値 100;
var now = Date.now(); now - last < 閾値) {
if (alt) {
alt.apply(this, argument)
}
last = now; >func.apply(this, argument);



デバウンス

一定の間隔で電話をかけます。


コードをコピーします

コードは次のとおりです。if (!execASAP) {
func.apply(self, args)
}
timeout = null;
if (タイムアウト);
clearTimeout(timeout);
} else if (execASAP) {
func.apply(self, args);
timeout = setTimeout(遅延, しきい値); ;
};



テスト





コード


var test = function (wrapper, Threshold) {
var log = function () {
console.log(Date.now() - start); 🎜>}; var Wrapper(log, Threshold); var start = []
for (var i = 0; i テスト(スロットル、1000);
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。