函数防抖与函数节流

函数防抖:短时间内多次触发同一事件,只执行最后一次,或执行最开始的一次,中间的不执行

非立即执行的意思是触发事件后函数不会立即执行,而是在N秒后执行,如果在N秒内又触发了事件,则会重新计算函数执行时间

立即执行的意思是触发事件后函数会立即执行,然后 n 秒内不触发事件才能继续执行函数的效果。

函数节流:指连续触发事件但是在 n 秒中只执行一次函数。即 2n 秒内执行 2 次... 。节流如字面意思,会稀释函数的执行频率。

同样有两个版本,时间戳和定时器版。

在持续触发事件的过程中,函数会立即执行,并且每 1s 执行一次。

在持续触发事件的过程中,函数不会立即执行,并且每 1s 执行一次,在停止触发事件后,函数还会再执行一次。

我们应该可以很容易的发现,其实时间戳版和定时器版的节流函数的区别就是,时间戳版的函数触发是在时间段内开始的时候,而定时器版的函数触发是在时间段内结束的时候。

 同样地,我们也可以将时间戳版和定时器版的节流函数结合起来,实现双剑合璧版的节流函数。

posted @ 2020-03-09 14:55  cz123456789  阅读(51)  评论(0)    收藏  举报