最快的去抖实施

时间:2014-11-04 17:29:28

标签: javascript debouncing

我的应用程序中的滚动事件附加了一些繁重的功能。为了限制它执行的频率,我使用简单的去抖方法,如下所示:

var timeout;
document.addEventListener("scroll", function () {
    clearTimeout(timeout);
    timeout = setTimeout(function () {
        // some heavy code
    }, 200);
});

有更好的方法吗?每次事件触发时,setTimeout都不会调得太重吗?

编辑: 最让我担心的是内存使用情况 - 我认为每个setTimeout都会分配一些内存。这是来自chrome时间轴的内存分配(来自这个小提琴:http://jsfiddle.net/hky0oekm/):

enter image description here

0 个答案:

没有答案