函数节流

函数节流的意义在于,在做一件连续触发的事件时,只需要在这件事情完全完成之后才触发需要进行的方法,而不是在连续触发时不断触发需要进行的方法,这样可以有效的提高程序的运行效率,并防止浏览器因大量触发函数导致假死甚至崩溃,典型的有resize事件,mousemove事件等,下面来看一下具体的实现

function throttle(method,context,delay){
    var timer = null;
    return function(){
        clearTimeout(timer);
        timer = setTimeout(function(){
            method.call(context)
        },delay);  
    }
} 

function test(){
    console.log(1);    
}

window.onresize = throttle(test,window,500);
            

这样就避免test方法频繁运行引起的问题了

 

posted @ 2017-03-14 21:07  海角七号已存在  阅读(93)  评论(0)    收藏  举报