Skip to main content

防抖和节流

先总结防抖和节流是干嘛的:防抖是控制函数触发的次数,节流是控制函数触发的频率。

函数防抖和节流

防抖:

把函数放进setTimeout中,每次触发的时候,就把上一个timeOutID清掉,重新生成timeOutID,直到规定时间内不再被清掉,然后执行函数。

节流:

时间戳:记录上一次函数执行的时间,如果当前事件触发的时间与上一次函数执行的时间间隔小于设定的间隔,则不触发。如果大于了设定的时间间隔,就执行函数,并把执行的事件记录成上一次执行时间。

特点是每个时间段触发第一次就执行

timeOut:函数放在setTimeOut中,生成一个timeOutId。如果timeOutId存在,就跳过生成新的timeOutID的过程,直到第一个timeOut的回调函数执行,清空timeOutId。

特点是每个时间段最后一次触发执行