防抖和节流

147 阅读1分钟

防抖(在规定时间内只执行一次)

function debounce(fn,delay){
            var timer = null;
            return function(){
                if(timer){
                    clearTimeout(timer);
                }
                timer = setTimeout(function(){
                    fn();
                }, delay);
            }
        }

节流(在规定时间内间隔执行)、

function throttle(fn,delay){
            var timer = new Date().getTime(); // 获取当前时间戳
            return function(){
                console.log("??",this)
                 var nowTime = new Date().getTime();   
                if(nowTime-timer>=delay){
                    // fn();
                    fn.apply(this,arguments);
                    timer = new Date().getTime();
                }
            }
        }