三、节流
当事件触发之后,约定单位时间之内,事件里面的代码最多只能执行 1
次。所以,节流减少
了单位时间
内代码的执行次数
,从而提高性能。
代码:
function throttle (fn, await) { let timer = null // 定义一个定时器的变量 return function() { // 用闭包返回一个函数,解决this指向问题 if (!timer) { time = setTimeout(() => { fn.apply(this, arguments); //改变this指向 timer = null; // 清空定时器 }, await) } } }
使用场景:
- 触底加载更多/滚动加载更多事件
- 防止重复点击事件
当然也有很多种版本,小编只是实现了个简单的版本,如有想法请大家多多交流指正~~
往期
请各位帅哥美女多多支持帅编,回复“1”即可加入前