1.函数防抖
定义:事件被触发一定时间后再执行回调函数,在此期间该事件被多次触发,则重新开始计时。
通俗定义:当事件在n秒内连续触发,只执行最后一次。
常用场景:
1.输入框远程查询事件
2.在线文档自动保存
3.浏览器视口大小改变
防抖函数代码:
timer的作用是判断事件是否是规定时间内最后那次触发
函数节流:
定义:在单位时间内只触发一次事件,如果在单位时间内多次触发事件只执行一次。
通俗定义:当事件连续触发时,每隔n秒执行一次。
常用场景
按钮提交事件(当然也可做成点击后就loading)
页面滚动事件的触发
累计计算鼠标移动距离
节流函数代码:
timer的作用是判断一次事件是否执行完成
节流函数进阶代码:
应对需求:第一次触发立即执行,以后每次可以触发时也是立即执行。显然普通节流函数就无法满足此需求,因为第一次触发就会在规定时间后执行。那么我们就需要进阶版本节流函数。