面试如何快速手搓JavaScript防抖和节流

目录

为什么需要防抖和节流

防抖

节流

节流和防抖区别


  • 为什么需要防抖和节流

    • 在进行窗口的resize, scroll , 输入框内容校验等操作的时候,如果事件处理函数调用的频率无限制 , 会加重浏览器的负担 , 导致用户的体验非常糟糕
    • 在进行网络请求的时候 , 点击事件 , 输入框值改变的时候 , 都需要发送网络请求 , 如果不进行处理的话 , 一直发送网络请求 ,  会加重浏览器和服务器的负担
  • 防抖

    • 将几次的多次触发的操作合并为一次操作进行
    • 防抖原理
      • 原理是维护一个计时器 , 规定在delay事件后触发函数,但是在一定时间内再次触发的话 , 就会取消之前的计时器而重新设置. 这样一来 , 只有最后一次操作能被触发
      • 上述为简单的防抖操作 , 而如果想第一次触发的时候直接执行 , 连续触发的时候只执行一次 , 需要进行判断 , 但这个时候执行的操作并不是最后一次
    •  
      <body>
              <input type="text" />
              <script>
                  // 这种方式this和事件对象都没进行处理 , 只是简单的进行防抖操作
                  let inp = document.querySelector('input');
                  inp.addEventListener('input', debpunce(inpVal, 1000), false);
                  function inpVal(e) {
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值