本文详解JavaScript中setInterval与setTimeout两种定时执行机制的区别与用法。通过代码示例演示如何调用无参方法以及如何向回调函数传递参数,涵盖循环执行与单次定时执行的实现方式及清理方法。
JavaScript定时器基础
浏览器内置函数:
周期性执行:var timeid = window.setInterval(“方法名或方法”,“延时”);window.clearInterval(timeid);
一次性执行:var tmid = window.setTimeout(“方法名或方法”, “延时”);window.clearTimeout(tmid);
代码示例与传参方式
实例演示:
A.当目标方法无需参数时
代码示例:
<script type=”text/javascript”>
//周期性执行,每3秒调用一次showalert()
window.setInterval(showalert, 3000);
function showalert()
{
alert(“aaaaa”);
}
//一次性执行,5秒后调用show()
window.setTimeout(show,5000);
function show()
{
alert(“bbb”);
}
</script> B.当目标方法需参数时
代码示例:
<script type=”text/javascript”>
//周期性执行,每3秒调用一次 showalert()
window.setInterval(function(){
showalert(“aaaaa”);
}, 3000);
function showalert(mess)
{
alert(mess);
}
//一次性执 行,5秒后调用showalert()
window.setTimeout(function(){
showalert(“bbbbbb”);
},5000);
</script>