函数节流经典实现方式

函数节流的目的:防止不是用用户直接控制的函数,频繁触发

函数频繁被调用的场景:window.onresize,mousemove

函数节流的代码实现(经典案例):

var throttle = function(fn,interval) {
    var self = fn,timer,firstTime = true;
    return function() {
        var args = arguments,_this = this;
        if(firstTime) {
            self.apply(_this,args);
            return firstTime = false;
        }
        if(timer) {
           return false 
        }
        timer = setTimeout(function() {
            clearTimeout(timer);
            self.apply(_this,args);
        },interval||500)
    }
}

window.onresize = throttle(function() {console.log(1)},500)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容