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");
});