什么是防抖
通俗来说就是当一个事件一直处于频繁触发的情况下,禁止触发,直到频率降低到规定的程度,才允许触发。
实现
- 触发事件时,给一个setTimeout定时器来延迟触发
- 每次点击清除并重置定时器
- 使用闭包来存储定时器
什么是节流
通俗的来说就是一个事件不停的触发时,控制它在每个时间段只触发一次。
实现
- 设置一个变量scrollTimer,设置为null。
- 每次触发事件判断scrollTimer是否为null、如不为空则清除定时器。
- 设置setTimeout定时器在规定时间后才能进入执行函数再次触发、并将其赋给变量scrollTimer。
- 使用闭包存储变量