2021
07-01
07-01
如何理解JS函数防抖和函数节流
目录概述1.函数防抖(debounce)2.函数节流(throttle)概述函数防抖和函数节流都是定义一个函数,该函数接收一个函数作为参数,并返回一个添加了防抖或节流功能后的函数。因此可以将函数防抖和函数节流看作是一个函数工厂,负责对传进来的函数进行相应的加工改造,然后产出一个新的带有某种功能的函数。函数防抖是某一时间内只执行一次,而函数节流是间隔时间执行假如有这样一个场景:在某一页面,有一个按钮是"加载更多",这...
继续阅读 >
问题的引出在一些场景往往由于事件频繁被触发,因而频繁地进行DOM操作、资源加载,导致UI停顿甚至浏览器崩溃。在这样的情况下,我们实际上的需求大多为停止改变大小n毫秒后执行后续处理;而其他事件大多的需求是以一定的频率执行后续处理。针对这两种需求就出现了debounce和throttle两种解决办法。1.resize事件2.mousemove事件3.touchmove事件4.scroll事件throttle与debounce在现在很多的javascript框架中都提供了这两个...