JavaScript实现防抖节流函数
review
防抖函数
防抖函数一般是短时间内多次触发,但是只有最后一次触发结束后的delay秒内会去执行相对应的处理函数。
相当于一个赛道里面一次只能跑一辆赛车,如果此时已经有一辆赛车在跑道里面跑,但是又进来了一辆,那么之前那一辆赛车就会被清空。知道有一辆赛车到达终点,然后执行函数。
也就是说,防抖函数多次触发,但是一段时间内触发的n次,最后只能有一次会执行。
节流函数
节流函数如果也用赛车的案例来举例,就是说:
一个赛道里面,如果此时已经有了一辆赛车,那么其他想要进入赛道的赛车就会被阻止,直到前一辆赛车进去以后,才会被允许进入一辆新赛车。
下面的代码中我实现了两种版本的节流函数:
- 第一次触发立即执行(使用时间戳)
- 第一次触发,需要等待delay秒之后才执行
code
防抖节流