函数防抖 主要用于限制高频触发事件函数的执行间隔

Posted 乱术

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数防抖 主要用于限制高频触发事件函数的执行间隔相关的知识,希望对你有一定的参考价值。

var debounce = function (func, wait, lossless) {
    var lastTimeout, alreadyDo = false;
    if (typeof lossless == ‘undefined‘)
        lossless = true;
    return function () {
        var context = this,
              args = arguments;
        if (!alreadyDo) {
            alreadyDo = true;
            setTimeout(function () { alreadyDo = false }, wait);
            clearTimeout(lastTimeout);
            func.apply(context, args);
        } else if (lossless) {
            clearTimeout(lastTimeout);
            lastTimeout = setTimeout(function () {
                func.apply(context, args);
            }, wait);
        }
    };
}

///防抖函数
///防止事件函数高频执行,间隔wait毫秒执行
///lossless是否保存最后一次未到间隔时间的执行

 

以上是关于函数防抖 主要用于限制高频触发事件函数的执行间隔的主要内容,如果未能解决你的问题,请参考以下文章

函数节流和防抖

jsvue防抖函数节流函数,工具类封装

防抖和节流

节流和防抖的区别,以及如何实现

javascript的防抖和节流

javascript的防抖和节流深入理解