// 防抖
export function debounce(defaultTime) {
let timeoutIndex;
return function(callback, time) {
if (!isNumber(time)) {
time = defaultTime;
}
if (isNumber(timeoutIndex)) {
clearTimeout(timeoutIndex);
}
timeoutIndex = setTimeout(callback, time);
}
}
// 节流
export function throttle(func, delay = throwIfMissing()) {
var timer = null;
var startTime = Date.now();
return function() {
var curTime = Date.now();
var remaining = delay - (curTime - startTime);
var context = this;
var args = arguments;
clearTimeout(timer);
if (remaining <= 0) {
func.apply(context, args);
startTime = Date.now();
} else {
timer = setTimeout(func, remaining);
}
}
}
防抖,节流
最新推荐文章于 2024-10-12 10:41:56 发布