前端性能优化 -- 防抖与节流

2018-11-27  本文已影响0人  彼得马的前端小院

防抖(debouncing)和节流(throttling)都是为了限制函数的执行。
举个例子,当用户频繁点击一个按钮时,防抖函数可以让事件响应函数

节流函数与防抖函数类似,两者的差异在于:

window.requestAnimationFrame可以用来帮助实现防抖、节流函数。Lodash的防抖函数debounce()里就有用到这个API,另外,Lodash的节流函数throttle()也是基于自己的debounce函数实现的。

lodash的debounce()函数与throttle()函数

API文档:
_.debounce(func, [wait=0], [options={leading: Boolean, trailing: Boolean}])
_.throttle(func, [wait=0], [options={leading: Boolean, trailing: Boolean}])


参考文章
强烈推荐: 一篇图文并茂的阐述防抖和节流的文章
Lodash的实现:
lodash/debounce.js
lodash/throttle.js

上一篇下一篇

猜你喜欢

热点阅读