js debounce 去抖技术

原来前端有 debounce 去抖技术 的, 在事件被频繁触发时,只执行一次处理。 以前写js 的时候,也遇到这样的情况, 可是不懂去抖,也不知道有这个概念,搞得烦死了。 其实基本原来就是 结合定时器,使用, 如果 定时器对象存在就 清空不知道, 不存在就执行定时器,这样就 只会执行最后一次的动作了。

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

作者:蓝瘦额香菇
链接:https://www.jianshu.com/p/0dbe40b7c1cf
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

https://blog.csdn.net/qiqingjin/article/details/51584262 http://www.jb51.net/article/90288.htm https://www.jianshu.com/p/0dbe40b7c1cf

还有慕课网的 视频

https://www.imooc.com/video/14716

猜你喜欢

转载自my.oschina.net/u/2419285/blog/1791958