美文网首页
手写一个防抖

手写一个防抖

作者: huanghaodong | 来源:发表于2020-04-28 16:13 被阅读0次
    function debounce(func, wait, immediate) {
    
        var timeout, result;
    
        var debounced = function () {
            var context = this;
            var args = arguments;
    
            if (timeout) clearTimeout(timeout);
            if (immediate) {
                timeout = setTimeout(function(){
                    timeout = null;
                }, wait)
                if (!timeout) result = func.apply(context, args)
            }
            else {
                timeout = setTimeout(function(){
                    func.apply(context, args)
                }, wait);
            }
            return result;
        };
    
        debounced.cancel = function() {
            clearTimeout(timeout);
            timeout = null;
        };
    
        return debounced;
    }
    

    相关文章

      网友评论

          本文标题:手写一个防抖

          本文链接:https://www.haomeiwen.com/subject/gzzmwhtx.html