最近更新
阅读排行
读过本文章的之前读了
关注本站

setTimeout()与setInterval()的区别

阅读:4102 次   编辑日期:2013-11-20

目录:

概述:

JavaScript中提供了两种定时器setTimeout()与setInterval(),既然JavaScript提供了两个方法,那么这两个方法有什么区别吗?今天我们来看一下。

setTimeout():

setTimeout() 只执行 code 一次,不明白的话看下面的代码:
	function uw3cTimed()
	{
		var i = 1;
		var t=setTimeout(function(){
			document.write(i)
			i++;
		},1000)
	}
	uw3cTimed();
执行上面的代码,你只会看到页面中有一个“1”,因为代码只是执行了一回。

setInterval():

setInterval()会执行N回,只要你不停止,它就会一直执行。
	function uw3cTimed()
	{
		var i = 1;
		var t=setInterval(function(){
			document.write(i)
			i++;
		},1000)
	}
	uw3cTimed();
虽执行上面的代码,你会看到页面中每1秒钟就会追加一个数:1 2 3 4 5 6 7...直到你停止计时器或者关闭页面。

如何用setTimeout()实现setInterval()的效果:

看到上面的区别了吧,但是我用的是setTimeout(),我偏要实现setInterval()的效果怎么办?看下面的代码:
	var i = 1;
	function uw3cTimed()
	{
		var t=setTimeout(function(){
			document.write(i)
			i++;
			uw3cTimed();
		},1000)

	}
	uw3cTimed();

如何停止计时器:

既然了解了计时器,那我们应该如何停止或者满足某个条件的时候停止呢?
	function uw3cTimed()
	{
		var i = 1;
		var t=setInterval(function(){
			document.write(i)
			if(i == 5){
				clearTimeout(t)
			}
			i++;
		},1000)
	}
	uw3cTimed();
看到了吧,当i==5的时候自动停止。
将本篇文章分享到:
top