1.函数防抖 :
单位时间内,频繁触发事件,只会触发最后一次
经典应用场景 : 输入框输入事件
减少触发输入的频率,提高代码性能
函数防抖流程
声明全局变量timeID存储定时器ID
每一次触发事件, 先清除上一次定时器。 然后将事件处理代码放入本次定时器中
例子:
2,函数节流
函数节流 : 单位时间内,频繁触发事件,只会触发一次
经典应用场景 :降低高频事件触发频率
滚动条事件:onscroll 鼠标移动:onmousemove
函数防抖流程 :
(1) 声明全局变量记录本次触发时间
(2) 每一次触发事件, 获取当前时间
(3) 判断 当前时间-上一次触发时间>=节流间隔时间
(4) 存储本次触发事件,用于下一次判断
例子: