JavaScript中setTimeout与setInterval的区别及用法

作者:异步漫步时间:2026-10-24 11:38:17浏览:322

本文详细解析JavaScript中setTimeout与setInterval的核心区别。setTimeout用于指定时间后执行一次操作,而setInterval则按固定间隔重复执行。文章通过对比代码示例,展示了如何正确使用这两个方法实现定时功能,并重点讲解了利用clearTimeout和clearInterval清除计数器的具体操作,帮助开发者避免内存泄漏并精确控制程序流程。

setTimeout与setInterval的基本区别

setTimeout方法属于定时程序,其作用是在指定的时间延迟后执行一次操作,执行完毕后即结束,不会自动重复。


setInterval方法则表示以固定的时间间隔反复执行某项操作,直到被手动停止。



若需使用setTimeout模拟setInterval的功能,必须在每次执行的操作内部再次调用setTimeout来设置下一次定时任务。要停止计数器的运行,需根据所使用的定时器类型调用对应的清除方法:



清除定时器的方法

例如:


tttt=setTimeout('northsnow()',1000);


clearTimeout(tttt);



或者:


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


clearInteval(tttt);



使用setTimeout实现定时功能的代码示例

举一个例子:


代码如下:

 
<div id="liujincai"></div>
<input type="button" name="start" value="start" onclick='startShow();'>
<input type="button" name="stop" value="stop" onclick="stop();">
<script language="javascript">
var intvalue=1;
var timer2=null;
function startShow()
{ 
liujincai.innerHTML=liujincai.innerHTML + "&nbsp;" + (intvalue ++).toString();
timer2=window.setTimeout("startShow()",2000);
} 
function stop()
{ 
window.clearTimeout(timer2);
} 
</script>

使用setInterval实现定时功能的代码示例

或者:


代码如下:

 
<div id="liujincai"></div>
<input type="button" name="start" value="start" onclick='timer2=window.setInterval("startShow()",2000);//startShow();'>
<input type="button" name="stop" value="stop" onclick="stop();">
<script language="javascript">
var intvalue=1;
var timer2=null;
function startShow()
{ 
liujincai.innerHTML=liujincai.innerHTML + "&nbsp;" + (intvalue ++).toString();
} 
function stop()
{ 
window.clearInterval(timer2);
} 
</script>
作者最新文章