防抖和节流

防抖

什么是防抖

防抖策略:当事件被触发后,延迟 N 秒后再执行回调,如果在这 N 秒内事件又被触发,则重新计时。

应用场景

用户在输入框中连续输入一串字符时,可以通过防抖策略,只在输入完后,才执行查询的请求。这样可以有效减少请求次数,节约请求资源。

 

节流

什么是节流

节流策略:顾名思义,可以减少一段时间内时间的触发频率。

节流的应用场景

  1. 鼠标连续不断地触发某个事件(比如说点击事件),只在单位时间内只触发一次。 
  2. 懒加载时要监听计算滚动条的位置,但不必每次滑动都触发,可以降低计算的频率,而不必去浪费 CPU 资源。

节流阀

节流阀就相当于一个变量,用来控制判断是否可以执行操作。

节流阀为空,表示可以执行下次操作;不为空,表示不能执行下次操作。每次执行操作前,必须先判断节流阀是否为空。

防抖和节流的区别

防抖:如果事件被频繁触发,防抖能保证只有最后一次触发生效,前面 N 次的触发都会被忽略。

节流:如果事件被频繁触发,节流能够减少事件触发的频率,因此,节流是有选择性地执行一部分事件。

posted @ 2022-05-03 16:13  守鹤  阅读(129)  评论(0)    收藏  举报