防抖函数

防抖和节流是在js性能优化方面非常重要的一环,它们主要针对的是一些短时间内会被频繁触发的事件,比如监听输入框的输入事件来验证表单,监听页面的滚动事件来实现列表的加载,窗口的 resize 事件等等,这类事件都有触发频次高,间隔时间很短的特点,如果这个事件的回调函数涉及到很多计算以及DOM的重绘的话,就可能会导致卡顿,影响到用户体验,所以我们最好是使用防抖和截流这样的函数来优化一下。

应用场景:
搜索时防止频繁向服务器发送请求等

debounce(func, delay=500){
      let timer ;
      return function (...args) {
        if(timer) clearTimeout(timer)

        timer = setTimeout(()=>{
          func.apply(this,args)
        },delay)
      }
    }

使用方法:
将发送请求的函数传入debounce()中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值