,当键盘的某个按键被按下时,需要执行某个函数
当用户频繁的与UI界面操作交互时,例如:窗口调整(触发resize),页面滚动,上拉加载(触发scroll),表单的按钮提交,商城抢购疯狂的点击(触发mousedown...特点: 不管事件触发有多频繁,都会保证在规定的间隔时间内真正的执行一次事件处理函数,只会让一个函数在某个时间窗口内执行一次,若在时间窗口内再次触发,则重新计算时间
应用场景: 常用于鼠标连续多次点击click...事件,鼠标移动mousemove,拖拽,窗口尺寸改动(resize),鼠标滚轮页面上拉(onScroll),上拉刷新懒加载
原理: 通过判断是否达到一定的时间来触发函数,若没有规定时间则使用计时器进行延迟...,而下一次事件则会重新设定计时器,它是间隔时间执行
通常与用户界面高频的操作有:
鼠标滚轮页面上拉(onScroll),下拉刷新懒加载
窗口尺寸改动(onresize)
拖拽
若是高频操作,若不进行一定的处理...(函数节流,两种方式)或者太多次(函数防抖),分别用原生JS以第三方库实现
对于函数的节流与防抖是前端提升性能的手段,虽然就几行代码,但是面试时,常问不衰,让你手写,很多时候,拍拍胸脯,不借助搜索,你还真不一定能写得出来