防抖与节流

防抖:固定时间内,多次操作变成一次。固定时间内事件只允许发生一次。

function antiShake(fn, wait){
    let timeOut = null;
    return args => {
        if(timeOut) clearTimeOut(timeOut);
        timeOut = setTimeOut(fn,wait);
    }
}

节流: 一定时间内只调一次函数, 一定时间内多个事件合为一个

function throttle(fn,wait) {
    let timeOut = null
    return args => {
        if(!timeOut) {
            timeOut = setTimeOut(()=>{
                fn();
                timeOut = null
            },wait)
        }
    }
}

你可能感兴趣的:(前端,javascript)