防抖与节流

防抖

防抖是在一定时间内只能有一次操作 => 将多次变为一次操作

<input placeholder="请输入电话">
let telInput = document.querySelector('input')
    telInput.addEventListener('input',antiShake(demo,2000))

    //防抖封装
    function antiShake(fn,wait){
      let timeOut = null
      return () => {
        if(timeOut) clearTimeout(timeOut)
        timeOut = setTimeout(fn,wait)
      }
    }
    function demo(){
      console.log('发起请求')
    }

节流

节流是一定时间内只调用一次函数 =>应用场景:1.提交表单 2.高频的监听事件

<div class="box"></div>
let box = document.querySelector('.box')
    box.addEventListener('touchmove',throttle(demo,2000))
    function throttle(event,wait){
      let time = null
      return args =>{
        if(!time){
          time = setTimeout(() =>{
            event()
            time = null
          },wait)
        }
      }
    }
    function demo (){
      console.log('发送请求')
    }

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值