防抖(Debounce)和节流(Throttle)就是控制一个函数在规定的时间内执行一次,用来控制频率的,以此用来可以提高性能,避免浪费资源导致代码运行较差,影响用户体验。
防抖:
防抖其实就是指触发事件后在规定时间内只能执行一次,如果在n秒后又触发了一次,则会重新计时(函数规定的执行时间);
下面是执行代码:
节流:连续触发事件之后在函数规定的时间内只能执行一次
就是类似于英雄联盟的技能,技能放完之后需要等冷却时间结束之后才能继续使用。
下面是代码:
区别:防抖一定时间连续触发的事件,只在最后执行一次,而节流是一段时间内只执行一次。
应用场景: 滚动条,动画,鼠标移入移出,键盘按下抬起时间