一.防抖函数
1.函数防抖 (debounce)
函数防抖(:当持续触发事件时,在设置的时间周期内没有再触发事件,事件处理函数才会执行一次,如果设定的周期没有结束,又一次触发了事件,就重新开始延时执行【永远执行最后一次】
比如200ms,然后:
- 如果在200ms内没有再次触发事件,那么执行函数
- 如果在200ms内再次触发函数,那么当前的计时取消,重新开始计时
2.实现思想
(1).debounce 函数进入页面立即执 ,且必须返回函数
(2).当触发一个函数时,并不会立即执行这个函数,而是会延迟,通过定时器setTimeout设置时间来延迟函数的执行
(3).如果在此期间有再次触发这个函数,那么clearTimeout取消这个定时器;
(4).定义debounce函数要求传入两个参数
需要处理的回调函数callback;
延迟时间time;
3.代码实现
function debounce(callback,time=300){ //callback 回调函数 // time=300 默认时间
let t;
return function(){
clearTimeout(t);
t = s