防抖和节流

本文介绍了JavaScript中的事件防抖和节流技术,这两种技术常用于优化频繁触发的事件处理,如窗口滚动、输入框输入等场景。防抖技术确保在设定的时间间隔内,无论事件如何频繁触发,只执行最后一次操作;而节流技术则是在设定的时间间隔内,首次触发事件后,保证一定时间内只执行一次操作。示例代码分别展示了防抖和节流的实现方式。
摘要由CSDN通过智能技术生成

一.防抖

在单位时间内,频繁触发同一个操作,只会触发最后一次

 <script>
    //在单位时间内,频繁触发同一个操作,只会触发一次
    let timID;
    document.querySelector('.button1').onclick = function () {
      //点击第一次 点击事件生效,多次点击,只有最后一次生效
      clearTimeout(timID)
      
      timID = setTimeout(function(){
        console.log('你好')
      },500)

    }
  </script>

二.节流

在单位时间内,频繁触发同一个操作,只会触发第一次

  <script>
    //在单位时间内,频繁触发同一个操作,只会触发一次
    //思路:开关思想
    let  bool = true
    document.querySelector('.button1').onclick=function(){
      if(bool==false){
        return
      }
      bool=false
      setTimeout(function(){
        console.log('发送ajax')
        bool=true
      },2000)
    }
  </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个好好的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值