Category 1996世界杯

1.clearTimeout(timer);

只是将定时器关闭,这里的clearTimeout只是将定时器关闭,然后下面会重新开启定时器,但timer变量本身还存在,也就是当判断 if(timer) 时为真

代码示例,防抖函数的应用

function debounce(func, delay) {

let timer;

return function (...args) {

clearTimeout(timer);

timer = setTimeout(() => {

func.apply(this, args);

});

};

}

2.timer = null

timer会被系统的垃圾回收机制回收, 无法再重新启动定时器,就是当判断 if(timer) 为假

所以当我们清除定时器时,可以先判断是否需要通过判断 if(timer) 来决定用哪个方法清除定时器

代码示例:节流函数的应用

function throttled2(func, delay) {

let timer;

return function (...args) {

if (!timer) {

timer = setTimeout(() => {

func.apply(this, args);

timer = null;

}, delay);

}

};

}

top
Copyright © 2088 足球世界杯预选赛_荷兰世界杯 - twllb.com All Rights Reserved.
友情链接