防抖节流

节流:
闭包添加一个上下文的变量来实现。

    function throttle(func, wait) {
        let previous = 0;
        return function() {
            let now = Date.now();
            let context = this;
            let args = arguments;
            if (now - previous > wait) {
                func();
                previous = now;
            }
            }
        }

防抖:

    function debounce(fn , wait){
        let timer = null 
        let flag = true
        return function(){
            if(timer){
                clearTimeout(timer)
            }
            if(flag){
                fn()
            }
            flag = false
            
            timer = setTimeout(()=>{
                fn.apply();
                flag=true
            },wait)
        }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。