位置: IT常识 - 正文

防抖和节流有什么区别?(节流和防抖js)

编辑:rootadmin
防抖和节流有什么区别?

推荐整理分享防抖和节流有什么区别?(节流和防抖js),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:防抖和节流的使用场景,举例说明,防抖和节流的原理,防抖和节流的,防抖和节流的使用场景,举例说明,节流和防抖js,节流和防抖js,防抖和节流的使用场景,举例说明,防抖和节流有什么区别,内容如对您有帮助,希望把文章链接给更多的朋友!

一、理解防抖和节流

防抖:在单位时间内频繁触发事件,只有最后一次生效

比如:在游戏回城的时候被打断,再次点回城就会重新计时,最终只有没被打断的最后一次,才能成功回城,就是防抖

节流:在单位时间内频繁触发事件,只生效一次(也就是只有第一次生效)

比如:鼠标点击下一张轮播图,不管单位时间内连续点击了多少次,轮播图都是2秒换下一张,就是节流

防抖和节流都是性能优化的一种手段

二、相同点

1.都可以通过使用 setTimeout 来实现

2.都可以降低回调执行频率,节省计算资源

三、不同点

1.定义不同

函数防抖:一段时间内连续触发事件,只执行最后一次

函数节流:一段事件内只执行一次

2.应用场景不同

防抖:(1)手机号、邮箱地址的校验 (2)当用户input框输入完成后再发请求,如搜索等

节流: 高频事件,如:多少秒之后获取验证码、resize 事件和scroll 事件等

四、代码实现

1.防抖:

<body>

  <input type="text" id="i">

  <script>

    // 1.防抖

    document.querySelector('#i').addEventListener('input', () => {

      debounce()

    })

    let timeId = null

    const debounce = () => {

      clearTimeout(timeId)

      timeId = setTimeout(() => {

        console.log("防抖最后一次输出");

防抖和节流有什么区别?(节流和防抖js)

      }, 1000)

    }

  </script>

</body>

 防抖实现效果:

2.节流:

<body>

   <input type="button" id="btn" value="获取验证码">

  <script>

// 2.节流

    let flag = true // 设置控制开关

    let timeId = null

    const inp = document.querySelector('#btn')

    inp.addEventListener("click", () => {

      if (!flag) {

        return

      }

      flag = false

      let s = 5

      timeId = setInterval(() => {

        s -= 1

        if (s < 1) {

          inp.value = '获取验证码'

          flag = true

          s = 5

          clearInterval(timeId)

        } else {

          inp.value = s + '秒后再次获取验证码'

        }

      }, 1000)

    })

  </script>

</body>

本文链接地址:https://www.jiuchutong.com/zhishi/299973.html 转载请保留说明!

上一篇:气温和降水空间栅格数据下载RS123(气温和降水空间变化一月平均气温规律是什么原因是什么)

下一篇:5个前端练手项目(html css js canvas)(哪里能找到前端练手项目教程)

  • 华为手机volte设置在哪设置(华为手机volte设置在哪里设置荣耀9)

  • 苹果11pro屏幕可以转动吗(苹果11 pro的屏幕)

  • 苹果手机收到短信不显示特效(苹果手机收到短信怎么看是哪个卡)

  • 华为aqm-tl00是什么型号

  • chkdsk太慢了能停止吗(chkdsk时间太长)

  • iphone微信暗黑模式怎么关闭(苹果微信暗黑模式)

  • 苹果8plus左边喇叭不响(苹果8plus左边喇叭不响是正常的吗)

  • 微机显示系统使用的显示标准是什么(计算机显示系统)

  • 双通道内存什么意思(双通道内存优点)

  • 微信无法使用wifi(微信无法使用Wi-Fi数据迁移)

  • 显卡更新驱动有必要吗(显卡更新驱动有拖影)

  • 小米有实况照片功能吗(小米有实况照片吗)

  • iphonex是iphone几(iphonex是iphone几啊)

  • ipad的返回键是哪个(ipad2021返回键)

  • 手机怎么设置字带拼音(手机怎么设置字体上面有拼音)

  • 手机版wps怎么删减页数(手机版wps怎么删除文件中的部分内容)

  • 京东碎屏保有用吗(京东碎屏保有用吗安全吗)

  • 星标朋友是什么意思(星标朋友是什么功能)

  • 蓝牙耳机共享联系人有啥用(蓝牙耳机共享联系人能关吗)

  • 苹果card怎么申请(apple card如何申请)

  • ios12.4自动调节亮度在哪里(ios12自动调节亮度)

  • opporeno标准版参数(opporeno标准版手机怎么样)

  • 华为荣耀10支持遥控器吗(华为荣耀10支持5g吗)

  • 使用vimdiff代替svn diff的查看代码工具(vim diff对比)

  • isignup.exe是什么进程 isignup进程查询

  • 【Promise】一文带你了解promise并解决回调地狱(promise thenable)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络