//原理:在连续触发某个函数时,让该函数隔一段时间执行一次
function throttle(fn,wait){
wait = wait || 1000;
let flag = true;
return function(){
if(!flag){
flag = false;
setTimeout(()=>{
flag = true;
fn.apply(this,arguments)//保证this指向 和 参数的传递
},wait)
}
}
}
function f(){
console.log(this)
}
window.onscroll = throttle(f,1000)
复制代码