1:防抖函数
主要是,当连续触发函数时,上一次的函数不会执行,利用setTimeout定时器来处理
// 防抖,就是连续触发,只触发最后一次
function debunce(fn, delay) {
var timer;
return function() {
// 每次进来,清除一次定时器
clearTimeout(timer);
timer = setTimeout(fn, delay);
}
}
2:节流函数
// 节流,就是连续触发时,只定时执行
function thread(fn, delay) {
var timer;
return function() {
// 如果存在timer则不做任何处理
if (timer) {
return
} else {
timer = setTimeout(function(){
fn()
timer = null;
}, delay);
}
}
}
网友评论