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

防抖技术



前端

开发中,

防抖

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

防抖

(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) } } } 

需要注意的是,

防抖

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

  • 上一篇: dmi linux
  • 下一篇: mysql创建表命令
  • 版权声明


    相关文章:

  • dmi linux2024-11-05 07:30:04
  • jvm调优实战简书2024-11-05 07:30:04
  • 键值对是什么意思2024-11-05 07:30:04
  • linux重复运行shell命令2024-11-05 07:30:04
  • .so文件怎么执行2024-11-05 07:30:04
  • mysql创建表命令2024-11-05 07:30:04
  • mysql触发器怎么用2024-11-05 07:30:04
  • 2020公共dns排行2024-11-05 07:30:04
  • c语言中标志位的使用2024-11-05 07:30:04
  • 无锁设计2024-11-05 07:30:04