timer=setTimeout(function(){
//dosth
clearTimeout(timer);
timer=null;
},2000)
timer=setTimeout(function(){
//dosth
clearTimeout(timer);
timer=null;
},2000)
clearTimeout(timer)清除了timer指向的定时器,timer=null,是修改timer的指向,是timer这个变量不指向某个定时器,然而并没有清除这个定时器,定时器依旧可以使用
根据测试,timer是分配一个随机数字id,clearTimeout后,timer的变量指向数字id还在, 只是定时器停止了。
把timer赋值为null,是为了释放内存,同时也方便布尔判断吧
10 回答11.2k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
timer=null起不到终止计时器的作用,只是给timer变量赋了值