clearInterval(timer)和timer = null的区别
timer 的类型个正整数 typeof timer ==>number
clearInterval(timer)的作用只是将定时器停止,但是timer变量本身还是存在的
var timer=setInterval(function(){},1000);
$(“div”)
.mouseenter(function(){ //鼠标放上去关闭,离开再次启动
clearInterval(timer);//关闭
})
.mouseleave(function(){
timer=setInterval(function(){},1000) ;//重新启动
});
所以,
clearInterval(timer)达到保留对象的作用以便于再次使用;
两个都能达到关闭定时器的作用,但是timer=null后,timer变量会被当做垃圾被系统回收,无法再次启动原来的timer;
再次使用需要重新定义一个新变量var timer=setInterval(function(){abc()},3000);
在关闭定时器时,一般使用clearInterval(timer)就可以了。
如果需要使用timer对象来判断定时器是否存在进而再做一些其他操作,在清空定时器之后需要timer=null.
参考链接:https://blog.csdn.net/qingwenxiutong/article/details/56290126?utm_medium=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-BlogCommendFromMachineLearnPai2-1.control