关于防抖节流方法

Posted auserroot

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于防抖节流方法相关的知识,希望对你有一定的参考价值。

防抖 :

指的是 方法出发后一段时间内只执行一次 如果再次触发则清除上一次的计时器 重新计时

// 防抖
const debounce = (fn,wait)=>
  let timer = null //初始化定时器

  return (...args)=>
    timer&&clearTimeout(timer)//有则清除
    timer = setTimeout(()=>
      fn.apply(this,args)
    ,wait)
  

节流:

指的是 在一段时间内多次触发同一个事件 最终只执行一次


//节流
const throttle = (fn, wait) => 
  let flag = true //设置标识
  return (...args) => 
    if (!flag)  return 
    flag = false //改变状态
    setTimeout(() => 
      fn(args)
      flag = true
    , wait)//定时
  

以上是关于关于防抖节流方法的主要内容,如果未能解决你的问题,请参考以下文章

关于前端性能优化问题,认识网页加载过程和防抖节流

关于闭包 vue3 防抖 节流

前端关于防抖和节流

关于防抖和节流

关于防抖和节流的一点理解

lodash的防抖和节流方法