函数节流
function funa(fn,delay){
var lastTime = 0;
return function(){
var newTime = Date.now();
console.log('(tag)',newTime)
if(newTime - lastTime > delay){
fn();
lastTime = newTime
}
}
}
document.onscroll = funa(function(){
console.log('事件触发'+ Date.now())
},500)
防抖
<button id="btn">按钮</button>
function db(fn,delay) {
//记录上一次延时器
var timer = null;
return function(){
//清除上一次延时器
clearTimeout(timer);
//重新设置一个新的延时器
timer = setTimeout(function(){
fn.apply(this);
},delay)
}
}
document.getElementById("btn").onclick = db(function(){console.log('被点击了')},1000)