防抖和节流

Posted →_→空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了防抖和节流相关的知识,希望对你有一定的参考价值。

1.基本概念

针对事件高频触发的两种解决策略。
防抖(debounce):在n秒内触发,则重新计时,直至最后一次触发,隔n秒后执行事件
节流(throttle):每隔n秒触发一次

2.适用场景

防抖:input
节流:scroll,resize

3.代码

//防抖
function debounce(func,time){
    var timeout=null
    return function(){
        if(timeout!==null){
            clearTimeout(timeout)
        }
        timeout=setTimeout(func,time)
    }

}
//节流
function throttle(func,time1){
    let time=true;
   
    return function(){
        if(time===false){
            return
        }
        time=false
        setTimeout(()=>{
            func.apply(this,arguments)
            time=true
        },time1)
    }
}

以上是关于防抖和节流的主要内容,如果未能解决你的问题,请参考以下文章

lodash的防抖和节流方法

JS基础-防抖和节流

防抖和节流代码实现

防抖和节流代码实现

JS的防抖和节流

防抖和节流啥区别,实现一个防抖和节流