clearinterval(clearInterval和timer = null的区别)
本篇文章给大家谈谈clearinterval,以及clearInterval和timer = null的区别对应的知识点,文章可能有点长,但是希望大家可以阅读完,增长自己的知识,最重要的是希望对各位有所帮助,可以解决了您的问题,不要忘了收藏本站喔。
javascript中self.setInterval是什么意思
定义和用法
setInterval()方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval()方法会不停地调用函数,直到clearInterval()被调用或窗口被关闭。由setInterval()返回的ID值可用作clearInterval()方法的参数。
语法
setInterval(code,millisec[,"lang"])
参数描述
code必需。要调用的函数或要执行的代码串。
millisec必须。周期性执行或调用code之间的时间间隔,以毫秒计。
返回值
一个可以传递给Window.clearInterval()从而取消对code的周期性执行的值。
实例
<html>
<body>
<inputtype="text"id="clock"size="35"/>
<scriptlanguage=javascript>
varint=self.setInterval("clock()",50)
functionclock()
{
vart=newDate()
document.getElementById("clock").value=t
}
</script>
</form>
<buttononclick="int=window.clearInterval(int)">
Stopinterval</button>
</body>
</html>
javascript怎么清除所有的定时器setInterval
1.定义全局变量,通过js遍历清除
这种方法在项目中所使用到的定时器必须赋值记录到定义好的全局变量中,实现模拟代码如下:
var pageTimer={};//定义计算器全局变量
//赋值模拟
pageTimer["timer1"]= setInterval(function(){},2000);
pageTimer["timer2"]= setInterval(function(){},2000);
//全部清除方法
for(var each in pageTimer){
clearInterval(pageTimer[each]);
}
回目录
2.暴力清除方式
设置一个比较大的数值,循环清除,模拟代码如下:
for(var i= 1; i< 1000; i++){
clearInterval(i);
}
分析:实际上暴力清除的方式是不可取的,在不得已情况下才使用,在IE下,定时器返回值在IE下面是8位数字如:248147094,并且起始值不能确定,而Chrome和firefox下是从1开始的个位数字,一般项目还是建议第一种,并且第一种的扩展性也好,比如可以做个方法,清除除了指定定时器之外的所有定时器。
clearInterval和timer = null的区别
首先,clearInterval(timer)的作用只是将定时器停止,但是timer对象本身还是存在的,timer的值是一个ID,比如这样就可以重启:
var timer=setInterval(function(){abc()},3000);
//鼠标放上去关闭,离开再次启动
$("div").mouseover(function(){
clearInterval(timer);//关闭
}).mouseout(function(){
timer=setInterval(function(){abc()},3000);//重新启动
});
所以,clearInterval(timer)达到保留对象的作用以便于再次使用这个ID对应的定时器,但是如果是timer=null;
虽然也同样达到停止的效果,但是本身的timer对象ID已经被清空了,timer会被系统回收,无法再次启动原来的timer;再次使用需要重新定义一个新对象var timer=setInterval(function(){abc()},3000);但这个ID值不等于上一个的timer值,这里是两个timer,不相等,个人感觉区别不大,但是原理是不同的。
javascript可以单独停止setInterval吗
javascript可以单独停止setInterval,使用clearInterval即可
补充clearInterval的用法如下:
clearInterval可以清除setInterval设定的定时器,clearInterval用法如下:
clearInterval()方法可取消由 setInterval()设置的 timeout。
clearInterval()方法的参数必须是由 setInterval()返回的 ID值。
语法:
clearInterval(id_of_setinterval)
参数说明:
id_of_setinterval:由 setInterval()返回的 ID值。
扩展:
setInterval用法说明:
setInterval()方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval()方法会不停地调用函数,直到 clearInterval()被调用或窗口被关闭。由 setInterval()返回的 ID值可用作 clearInterval()方法的参数。
语法:
setInterval(code,millisec[,"lang"])
参数说明:
code:必需。要调用的函数或要执行的代码串。
millisec:必须。周期性执行或调用 code之间的时间间隔,以毫秒计。
返回值:
一个可以传递给 Window.clearInterval()从而取消对 code的周期性执行的值。
文章分享结束,clearinterval和clearInterval和timer = null的区别的答案你都知道了吗?欢迎再次光临本站哦!