什么是防抖和节流?
防抖:当持续触发事件时,一定时间内没有在触发事件,事件处理函数才会执行一次,如果设定的时间到来之前又一次触发了时间,就重新开始延时(常配合settimeout使用),例如鼠标移入一个弹窗上时,弹窗始终显示,离开3s之后执行消失;
节流:当持续触发事件时,保证一定时间段内只调用一次事件处理函数(配合时间戳和定时器来实现),例如:拖动一个物体移动,控制3s之后才获取物体位置信息;
为什么要引入防抖和节流?
在进行缩放,滚动等操作的时候,势必会多次调用事件处理函数,这样会加重浏览器的负担,这时候引入防抖和节流,可以有效的减少事件的调用频率;