cleartimeout(timer)
timer=null
清除了 为什么还要把timer=null呢?
因为timer接收到的是setTimeout返回的一个整数类型的值,clearTimeout()是根据这个值去清除计时器,计时器清除后timer变量的值依旧不变,所以最好重新赋值为NULL;setInterval也是同样道理
具体你们可以在控制台试一下这段代码,观察一下timer的变化。
var timer=null;
console.log('初始timer: '+timer);
setInterval(function(){
timer=setTimeout(function(){
console.log('当前 timer: '+timer);
clearInterval(timer);
console.log('清除之后 timer: '+timer);
},1000);
},2000);