防抖,节流

// 防抖
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);
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值