节流原理以及实现

219
//原理:在连续触发某个函数时,让该函数隔一段时间执行一次
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)