博客园

super.hill

记录搬砖中遇到的坑,欢迎批评指导!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

防抖,节流函数使用不多,lodash完美封装好,开箱即用,我自己也要了解一下内部逻辑

防抖:在延时时间内 再次触发函数,以最后一次触发执行函数,比如点击事件,点击多次提交数据

function debounce(cb,delay){
        var timer
        return function(){
            clearTimeout(timer);
            var that = this
            var args = [].slice.apply(arguments);
            timer = setTimeout(function() {
                cb.apply(that,args)
            }, delay);
        }
    }

节流: 在延时时间内 最多触发一次 ,比如 鼠标mousemove scroll事件

function throttle(cb, delay) {
    var last, now;
    last = new Date().getTime();
    return function () {
        now = new Date().getTime();
        var args = [].slice.apply(arguments);
        if (+now - last >= delay) {
            cb.apply(this, args);
            last = now;
        }
    };
}

 

 

posted on 2021-04-12 15:01  超岭  阅读(49)  评论(0编辑  收藏  举报
博客园