JavaScript - 函数节流throttle

2019-10-07  本文已影响0人  ElricTang

函数节流:

1.定时器实现节流

        function throttle(fn,delay){
            let timer = null;
            return (...args)=>{
                if(timer){
                    return
                }
                timer = setTimeout(()=>{
                    fn(args);
                    timer = null;                 
                },delay||1000)
            }
        }

2.计算时间差实现节流

        function throttle(fn,delay){
            let history = Date.now();
            return (...args)=>{
                let now = Date.now();
                if( now - history >= delay ){
                    fn(args);
                    history = Date.now();
                }
            };
        }
上一篇 下一篇

猜你喜欢

热点阅读