当前位置: 首页 > news >正文

JavaScript 中的防抖和节流(简易版)

防抖:类似于王者荣耀里的回城。

节流:类似于王者荣耀里的放技能。

防抖

防抖是指事件被触发后等待一定的延迟时间,若在这期间再次触发了事件,则重新开始计算延迟时间,只有当延迟时间结束后才会执行函数。(这段描述就是代码的逻辑)

function debounce(func, wait) {let timeout = null;return function (...args) {const context = this;clearTimeout(timeout);timeout = setTimeout(() => {func.apply(context, args);}, wait);};
}

节流 

节流是指在规定的时间内,不管触发多少次事件,函数只会执行一次。(这段描述就是代码的逻辑)

function throttle(func, wait) {let inThrottle = false;return function (...args) {const context = this;if (!inThrottle) {func.apply(context, args);inThrottle = true;setTimeout(() => {inThrottle = false;}, wait);}};
}

总结

  • 防抖:类似于王者荣耀里的回城,如果在回城过程中被打断了,就要重新点击回城。
  • 节流:类似于王者荣耀里的放技能,释放了当前技能,技能会处于冷却期,无法点击。 

注:个人理解,仅供参考。


http://www.mrgr.cn/news/55528.html

相关文章:

  • OCR经典神经网络(三)LayoutLM v2算法原理及其在发票数据集上的应用(NER及RE)
  • 【生物大分子入门】三. 配体分子的提取与结构表示方法
  • Linux运维篇-误操作已经做了pv的磁盘导致pv异常
  • Imagic: Text-Based Real Image Editing with Diffusion Models
  • 学习eNSP对提升就业竞争力有多大帮助?
  • 【Linux系统编程】冯诺依曼体系结构与操作系统
  • VSCode编译器改为中文
  • C语言中的内存函数
  • 没有网络限制!超简单本地部署 Llama3 的方法
  • MySQL-30.索引-介绍
  • Rat工具:vshell 4.9.3简单使用介绍
  • C++实现循环队列和链式队列操作(实验5--作业)
  • J1:ResNet-50算法实战与解析(鸟类识别)
  • webpack 老项目升级记录:node-sass 规定的 node v8 提升至支持 node v22
  • Selenium自动化测试全攻略:从入门到精通
  • Anchor DETR论文笔记
  • Telink 2.4G proprietary protocol 泰凌2.4G私有协议
  • Windows下安装并使用 NVM(Node Version Manager)
  • 材料研究与应用
  • 高级sql技巧
  • git配置以及如何删除git
  • Python包---numpy1
  • unix系统的终端、进程、进程组、会话、控制终端、作业控制之间的关系
  • Python内置函数classmethod()详解
  • 有没有好用的待办事项清单软件? —— 一文带你了解
  • 企业成本与时间管理新策略 低代码自动化显身手