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);