javaScript 手写代码系列----防抖和节流
前言
一、防抖(debounce)
当事件被频繁触发时,不想让其频繁执行事件处理函数的一种解决方案(例如:文本输入框)。
该方案通过设定一个周期延迟执行动作,如果周期内又被重新触发,则重新设定周期,直到周期结束,执行动作。
通俗点理解就是规定间隔,连续操作过程中停止操作时间大于定义的时间timer才会进行回调。
二、节流(throttle)
触发事件的随机性需要通过时间戳计算执行周期,在周期内只执行一次,规定了执行的次数,它的周期是计算间隔的长度该方法适用于一直触发事件中间没有间隔的情况(例如:鼠标滚轮事件)