防抖(Debounce)和节流(Throttle)都是用来控制某个函数在一定时间内触发次数,两者都是为了减少触发频率,以便提高性能或者说避免资源浪费。
简单说:防抖是将多次执行变为最后一次执行,节流是将多次执行变成每隔一段时间执行。
防抖:指事件被触发后n秒后再执行回调,如果在 n 秒内又被触发,则重新计时。
应用:1.模糊搜索
2.短信验证
3.文本编辑器实时保存
节流:指事件被触发后n秒内只执行一次,若在 n 秒内重复触发,只有一次生效。
应用:1.scroll 事件
2.浏览器播放事件
3.window的resize
4.点赞