JavaScript 的函数截流

JavaScript 的函数截流

ZKEASOFT February 16, 2017


当一个函数被频繁的执行而影响性能时,可以使用JavaScript的“函数截流”。频繁的调用某个函数,但又不希望它执行的太频繁,而在最后执行一下就可以了。思想很简单,使用计时器,延迟执行,在延迟的时间内,如果有再次调用请求,则取消上次调用请求,这样就不会被频繁执行了。这个在 window.resize 时特别有用。

function Processor(fun, delay) {
    if (!fun) return false;
    clearTimeout(fun.tid);
    if (!delay || typeof delay != "number")
        delay = 60;
    fun.tid = setTimeout(function () { fun.call(); }, delay);
}
//使用
Processor(function() {
    console.log("ZKEASOFT");
});


微信公众号