防抖和节流
防抖
什么是防抖
防抖策略:当事件被触发后,延迟 N 秒后再执行回调,如果在这 N 秒内事件又被触发,则重新计时。
应用场景
用户在输入框中连续输入一串字符时,可以通过防抖策略,只在输入完后,才执行查询的请求。这样可以有效减少请求次数,节约请求资源。

节流
什么是节流
节流策略:顾名思义,可以减少一段时间内时间的触发频率。
节流的应用场景
- 鼠标连续不断地触发某个事件(比如说点击事件),只在单位时间内只触发一次。
- 懒加载时要监听计算滚动条的位置,但不必每次滑动都触发,可以降低计算的频率,而不必去浪费 CPU 资源。
节流阀
节流阀就相当于一个变量,用来控制判断是否可以执行操作。
节流阀为空,表示可以执行下次操作;不为空,表示不能执行下次操作。每次执行操作前,必须先判断节流阀是否为空。
防抖和节流的区别
防抖:如果事件被频繁触发,防抖能保证只有最后一次触发生效,前面 N 次的触发都会被忽略。
节流:如果事件被频繁触发,节流能够减少事件触发的频率,因此,节流是有选择性地执行一部分事件。

浙公网安备 33010602011771号