/*
@param fn 要节流和防抖的函数
@param delay 规定的时间
*/
// 函数防抖
function debounce(fn, delay) {
// 记录上一次的延时时间
var timer = null;
return function() {
// 清除上一次的延时
clearTimeout(timer);
timer = setTimeout(function() {
// 改变this的指向
fn.apply(this);
}, delay);
}
}
// 函数节流
function throttle(fn, delay) {
// 记录上一次触发的时间
var lastTime = 0;
return function() {
// 记录函数当前触发的时间
var nowTime = Date.now();
if (nowTime - lastTime > delay) {
// 改变this指向
fn.call(this);
// 同步时间
lastTime = nowTime;
}
}
}