当前位置:网站首页 > 技术博客 > 正文

防抖技术



前端

开发中,

防抖

和节流是两种常用的优化技术,用于限制函数的执行频率,提升页面性能。

防抖

(debounce):指触发事件后在一定时间内函数只执行一次,如果在这段时间内又触发了该事件,则会重新计算函数执行时间。

防抖

常用于输入框搜索、页面滚动等频繁触发事件的场景。

实现代码如下:

 javascript function debounce(fn, delay) { let timer = null return function() { clearTimeout(timer) timer = setTimeout(() => { fn.apply(this, arguments) }, delay) } } 

节流(throttle):指连续触发事件但是在一定时间内只执行一次函数。节流常用于页面的滚动、窗口的resize等连续触发事件的场景。

实现代码如下:

 javascript function throttle(fn, delay) { let timer = null return function() { if (!timer) { timer = setTimeout(() => { fn.apply(this, arguments) timer = null }, delay) } } } 

需要注意的是,

防抖

和节流的实现都使用了闭包来保存计时器变量,以及返回一个新的函数。在实际应用中,可以根据具体的需求来选择使用哪种优化技术。

版权声明


相关文章:

  • modbus crc16校验源码2024-11-05 07:30:04
  • vue渲染页面流程2024-11-05 07:30:04
  • 单例模式的8种写法2024-11-05 07:30:04
  • java内部类有哪些2024-11-05 07:30:04
  • html表单数据如何提交到本页2024-11-05 07:30:04
  • mysql创建表命令2024-11-05 07:30:04
  • c++游戏编程教程2024-11-05 07:30:04
  • 预测模型的作用2024-11-05 07:30:04
  • java编写软件2024-11-05 07:30:04
  • 大数据用户画像的核心技术2024-11-05 07:30:04