美文网首页
JavaScript 函数节流和函数去抖

JavaScript 函数节流和函数去抖

作者: 饥人谷_Leonardo | 来源:发表于2019-03-05 08:28 被阅读0次

概念

函数防抖(debounce)

当调用动作过n毫秒后,才会执行该动作,若在这n毫秒内又调用此动作则将重新计算执行时间

函数节流(throttle)

预先设定一个执行周期,当调用动作的时刻大于等于执行周期则执行该动作,然后进入下一个新周期

函数节流(throttle)函数防抖(debounce)都是为了限制函数的执行频次,以优化函数触发频率过高导致的响应速度跟不上触发频率,出现延迟,假死或卡顿的现象。

函数防抖(debounce)

如果有人进电梯(触发事件),那电梯将在10秒钟后出发(执行事件监听器),这时如果又有人进电梯了(在10秒内再次触发该事件),我们又得等10秒再出发(重新计时)。

function debounce(fn,wait){ var timer = null; return function(){
        clearTimeout(timer)
        timer = setTimeout(()=>{
            fn()
        },wait)
    }
} function log(){
    console.log(1)
}

window.addEventListener('scroll', debounce(log, 1000));

函数节流(throttle)

保证如果电梯第一个人进来后,10秒后准时运送一次,这个时间从第一个人上电梯开始计时,不等待,如果没有人,则不运行。

function throttle(fn,wait,time){ var previous = null; //记录上一次运行的时间
    var timer = null; return function(){ var now = +new Date(); if(!previous) previous = now; //当上一次执行的时间与当前的时间差大于设置的执行间隔时长的话,就主动执行一次
        if(now - previous > time){
            clearTimeout(timer);
            fn();
            previous = now;// 执行函数后,马上记录当前时间
        }else{
            clearTimeout(timer);
            timer = setTimeout(function(){
                fn();
            },wait);
        }
    }
} function log(){
    console.log(1)
}

移动端开发的兼容问题(自我总结篇)

浏览器常见兼容问题以及解决办法

相关文章

  • 函数节流(throttle)与函数去抖(debounce)

    JavaScript-性能优化,函数节流(throttle)与函数去抖(debounce)JS魔法堂:函数节流(t...

  • JavaScript 函数节流和函数去抖

    概念 函数防抖(debounce) 当调用动作过n毫秒后,才会执行该动作,若在这n毫秒内又调用此动作则将重新计算执...

  • 函数节流与函数防抖

    函数节流与函数防抖的区别JS魔法堂:函数节流(throttle)与函数去抖(debounce)函数的防抖与节流 自...

  • 函数操作v1.0.0

    目录 函柯里化函数节流函数防抖 正文 函柯里化 函数节流 函数防抖

  • 节流函数和函数去抖

    被问到一个完全陌生的名词,于是来记录一下。争取以后不忘:) 节流函数 目的: 目的就是为了节流函数,从而优化性能。...

  • Javascript 基础

    1、函数防抖和函数节流 【《javascript高级程序设计》里,函数节流是这里讲的函数防抖。】函数防抖: 在事件...

  • 函数节流和函数去抖

    函数去抖(debounce) 在日常的开发过程中,会有这样的场景,事件被频繁的触发,比如说我们的在输入的时候监控k...

  • 函数节流和函数去抖

    https://www.cnblogs.com/caizhenbo/p/6378202.html 在日常的开发过程...

  • 函数节流和函数去抖

    函数节流 节流,英文名叫throttle,其用途就是当一个事件被频繁的触发,需要我们人为的限制函数的触发频率,就需...

  • 函数去抖和函数节流

    链接地址 这里面讲的比较详细

网友评论

      本文标题:JavaScript 函数节流和函数去抖

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