節流原理以及實現

王東煜發表於2019-10-09
//原理:在連續觸發某個函式時,讓該函式隔一段時間執行一次
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)
複製程式碼

相關文章