js-节流

简介: 节流的中心思想是:在某段时间内,不管你触发了多少次回调,我都只认第一次,并在计时结束时给予响应,也就是隔一段时间执行一次。

节流

节流的中心思想是:在某段时间内,不管你触发了多少次回调,我都只认第一次,并在计时结束时给予响应,也就是隔一段时间执行一次。

   // fn是我们需要包装的事件回调, interval是时间间隔的阈值
   function throttle(fn, interval) {
   
       // last为上一次触发回调的时间
       let last = 0;

       // 将throttle处理结果当作函数返回
       return function () {
   
           // 保留调用时的this上下文
           let context = this
           // 保留调用时传入的参数
           let args = arguments
           // 记录本次触发回调的时间
           let now = new Date()

           // 判断上次触发的时间和本次触发的时间差是否小于时间间隔的阈值
           if (now - last >= interval) {
   
               // 如果时间间隔大于我们设定的时间间隔阈值,则执行回调
               last = now;
               fn.apply(context, args);
           }
       }
   }
   // 用throttle来包装scroll的回调
   window.onscroll = throttle(() => {
   
       console.log('触发了滚动事件')
   },1000);
相关文章
|
7月前
|
JavaScript
JS封装节流函数
JS封装节流函数
62 0
|
7月前
|
JavaScript
JS中防抖和节流的区别是什么
JS中防抖和节流的区别是什么
49 0
|
7月前
|
JavaScript 前端开发 UED
【面试题】面试官:说说你对js中的 防抖 和 节流 的理解
【面试题】面试官:说说你对js中的 防抖 和 节流 的理解
|
3月前
|
前端开发 JavaScript UED
JavaScript防抖和节流的使用及区别
JavaScript防抖和节流的使用及区别
105 57
|
6月前
|
前端开发 JavaScript Java
【JavaScript】JavaScript 防抖与节流:以游戏智慧解锁实战奥秘
【JavaScript】JavaScript 防抖与节流:以游戏智慧解锁实战奥秘
63 3
|
6月前
|
JavaScript 前端开发 UED
深入理解JavaScript中的节流与防抖技术
理解并合理运用节流与防抖技术,可以帮助我们优化事件处理函数的执行频率,从而提升应用的性能和用户体验。这两种技术通过减少不必要的计算和DOM操作,使得Web应用程序能够更加流畅地运行。 通过掌握防抖和节流的实现原理及应用场景,开发者可以更加灵活地编写高效且性能优化的代码,对于面对高频事件处理时尤其重要。在开发中合理选择使用防抖或节流,将直接影响到应用的响应性和效率。
58 1
|
2月前
|
前端开发 JavaScript UED
JavaScript 中的函数防抖与节流详解及实用场景
在前端开发中,处理用户频繁触发的事件,如输入框的输入、按钮点击、窗口调整大小等,常常需要优化性能以减少无效操作。为此,函数防抖(debounce)和函数节流(throttle)是两种常见的性能优化手段。本文将详细介绍两者的区别与实现,并探讨它们的应用场景。
42 1
|
4月前
|
JavaScript 前端开发 UED
JS 防抖与节流
防抖和节流是优化高频事件处理的技术。针对如`scroll`、`resize`等频繁触发的事件,它们能有效减少不必要的回调执行,节省资源。防抖确保在一段时间内仅执行最后一次操作,适用于输入框自动补全等场景;而节流则按固定间隔执行函数,适合拖拽、滚动事件。通过简单的JavaScript实现,可以显著提升应用性能和用户体验。
37 1
JS 防抖与节流
|
7月前
|
JavaScript 前端开发 UED
js的防抖节流
js的防抖节流
40 1
|
7月前
|
JavaScript 前端开发 UED
js的节流
js的节流
35 0
下一篇
无影云桌面