首页 > 代码库 > setTimeout 和 setInterval 的区别

setTimeout 和 setInterval 的区别

window对象有两个主要的定时方法,分别是setTimeout 和 setInteval 他们的语法基本上相同,但是完成的功能取有区别。

  setTimeout方法是定时程序,也就是在什么时间以后干什么。干完就完了.

  setInterval方法则是表示间隔一定时间反复执行某操作。

  JS里设定延时:

使用SetInterval和设定延时函数setTimeout 很类似。setTimeout 运用在延迟一段时间,再进行某项操作。

setTimeout("function",time) 设置一个超时对象

setInterval("function",time) 设置一个超时对象

SetInterval为自动重复,setTimeout不会重复。

clearTimeout(对象) 清除已设置的setTimeout对象

clearInterval(对象) 清除已设置的setInterval对象

如果用setTimeout实现setInerval的功能,就需要在执行的程序中再定时调用自己才行。如果要清除计数器需要根据使用的方法不同,调用不同的清除方法:

例如:tttt=setTimeout(‘northsnow()‘,1000);

clearTimeout(tttt);

或者:

tttt=setInterval(‘northsnow()‘,1000);

clearInteval(tttt);

举一个例子:

<div id="liujincai"></div>

<input type="button" name="start" value="http://www.mamicode.com/start" onclick=‘startShow();‘>

<input type="button" name="stop" value="http://www.mamicode.com/stop" onclick="stop();">

<script language="javascript">

var intvalue=http://www.mamicode.com/1;

var timer2=null;

function startShow()

{

liujincai.innerHTML=liujincai.innerHTML + " " + (intvalue ++).toString();

timer2=window.setTimeout("startShow()",2000);

}

function stop()

{

window.clearTimeout(timer2);

}

</script>

或者:

<div id="liujincai"></div>

<input type="button" name="start" value="http://www.mamicode.com/start" onclick=‘timer2=window.setInterval("startShow()",2000);//startShow();‘>

<input type="button" name="stop" value="http://www.mamicode.com/stop" onclick="stop();">

<script language="javascript">

var intvalue=http://www.mamicode.com/1;

var timer2=null;

function startShow()

{

liujincai.innerHTML=liujincai.innerHTML + " " + (intvalue ++).toString();

}

function stop()

{

window.clearInterval(timer2);

}

</script>

setTimeout 和 setInterval 的区别