前端防抖和节流

参考 博客

总之,节流是将频繁执行的函数限制在每隔一段时间执行一次,防抖是将频繁执行的函数只在函数停止执行时执行一次

封装的防抖函数

function _debounce(deFunction){
    
    
    let timer;
    return function(){
    
    
        if(timer) clearTimeout(timer);//如果函数继续触发则取消执行函数
        timer=setTimeout(() => {
    
    
           deFunction(); 
        }, 1000);
    }

}

封装节流函数

function _throttle(thFunction){
    
    
    let timer;
    return function(){
    
    
        if(!timer){
    
    
            timer=setTimeout(() => {
    
    
                thFunction();
                timer=null;
            }, 1000);
        }

    }
}

猜你喜欢

转载自blog.csdn.net/Wind_waving/article/details/110261648