js节流和防抖

时间:2020-07-31 03:28:15 来源:

【摘要】 js节流和防抖考必过小编为大家整理了关于js节流和防抖的信息,希望可以帮助到大家!

js节流和防抖

标签:ali   class   开始   应用   bounce   性能优化   time   turn   完成   

js节流和防抖的应用非常普遍,通常我们在完成功能代码进行性能优化的时候是最经常考虑到的点。

1、防抖

概念:在第一次触发时间的时候,不是立即执行函数,而是等待一段时间后(这个时间自己规定)后才去执行。如果在这个时间之内没有再次触发,那么就执行函数。如果在等待这段时间内又触发了这个函数,那么等待时间重新开始。

效果:如果在短时间内大量触发同一事件,只会执行一次函数。

function debounce(fn, delay){
      let timer = null;
      return function(){
        if(timer){
          clearTimeout(timer)
          timer = setTimeout(fn, delay)
        }else{
          timer = setTimeout(fn, delay)
        }
      }
}

2、节流

如上述防抖概念,如果一直在重复触发这个函数,同时又希望只是在一段时间内失效,过了这段时间再次执行,这个概念就是节流

效果:如果在短时间内大量触发同一事件,那么在函数执行一次后,该函数在指定时间内不再执行,直到过了这段时间才重新生效

    function throttle(fn, delay){
      let valid = true
      return function(){
        if(!valid){
          return false
        }
        valid = false
        setTimeout(()=>{
          fn()
          valid = true
        }, delay)
      }
    }

 

js节流和防抖

标签:ali   class   开始   应用   bounce   性能优化   time   turn   完成   

以上就是js节流和防抖的内容,更多资讯请及时关注考必过网站,最新消息小编会第一时间发布,大家考试加油!

上一篇      下一篇
前端相关推荐 更多>>
前端热点专题 更多>>
热点问答
国家公务员考试年龄限制是多少 公务员国考和省考考试内容有什么区别 函授大专学历能不能考公务员 国家公务员考试考点能自己选择吗 新闻学专业能报考2022年公务员考试吗 什么是联合培养研究生 什么是破格录取研究生 什么人不适合读研 研究生报名户口所在地填什么 研究生结业和毕业有什么区别
网站首页 网站地图 返回顶部
考必过移动版 https://m.kaobiguo.net