防抖和节流的实现。

Posted 勇敢*牛牛

tags:

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

防抖

function Throttle(fun, t) 
    let timeout; //setTimeout的标记,最后清除
    return function () 
        if (!timeout) 
            timeout = setTimeout(() => 
                timeout = null
            , t)
            fun()//执行函数
        
    

//<button id="element">节流</button>
document.getElementById('element').onclick = Throttle(() => 
    console.log(1)
, 2000)

节流

function Shake(fun,t) 
        let timeout
        return function () 
            if(!timeout)
                timeout = setTimeout(()=>
                    timeout=null
                ,t)
                fun(arguments)
            else
                clearTimeout(timeout)
                timeout = setTimeout(()=>
                    timeout=null
            ,t)
        
    

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

JS防抖和节流

lodash的防抖和节流方法

防抖和节流的实现

JS的防抖和节流

防抖和节流原理具体实现

防抖和节流原理具体实现