//原理:在連續觸發某個函數時,讓該函數隔一段時間執行一次
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)
複製代碼