防抖和节流的理解
- 1.防抖
1.1 什么是防抖?
在事件被触发n秒后再执行回调函数,如果在这n秒内又被触发,则重新计时。
比如你乘坐电梯,如果十秒钟之内有人进入或者出去,那么十秒钟就会重新开始计时,直到十秒之内都不在有人流动才会关门
1.2 应用场景
用户在input框中输入文字,用户在输入完文字后才调用函数,而不是输入一个字符调用一次函数
window中resize、scroll事件,调整窗口大小和滚轮滚动,只调用一次函数
1.3实现
使用定时器,并且每一次触发函数都会重置定时器,在定时器结束后,调用函数
- 2.节流
2.1什么是节流?
规定一个单位时间,在这个单位时间内,只能有一次触发事件的回调函数执行,如果在同一个单位时间内某事件被触发多次,只有一次能生效。
2.2应用场景
鼠标连续点击或者滚动页面,单位时间只调用一次
2.3实现
触发事件时,设置一个定时器,再次触发事件时,判断定时器是否存在,若存在就不执行,若不存在则执行。这样就保证了规定时间内再怎么频繁触发事件,也都执行一次

浙公网安备 33010602011771号