JavaScript中setInterval与setTimeout的使用详解
作者:异步漫步时间:2026-10-28 16:06:23浏览:240
本文详细介绍JavaScript中两种核心定时器方法:setInterval与setTimeout。通过示例代码演示如何利用setInterval实现指定间隔的循环函数调用,并强调使用clearInterval取消循环时需保存引用;同时讲解setTimeout实现单次延时调用的机制,包括获取系统时间并格式化输出的完整逻辑。
setInterval循环调用与取消机制
利用setInterval方法,可以按照设定的时间间隔循环执行指定函数,直至通过clearInterval方法终止该循环过程。
在调用clearInterval取消循环时,必须先将setInterval方法的返回值赋值给一个变量,随后在clearInterval中引用该变量以正确停止定时器。
具体实现代码如下:
<script type="text/javascript">
var n = 0;
function print(){
document.writeln(n);
if(n==1000){
window.clearInterval(s);
}
n++;
}
var s = window.setInterval(print, 10);
</script>
setTimeout延时调用与时间格式化示例
利用setTimeout配合clearTimeout可实现延时调用,即在经过指定的延迟时间后执行一次指定函数。clearTimeout的使用方式与clearInterval完全一致,均需保存定时器ID进行引用。
具体实现代码如下:
<script type="text/javascript">
function printTime(){
var time = new Date();
var year = time.getFullYear();
var month = (time.getMonth())+1;
var daynum = time.getDay();
var hour = time.getHours();
var min = time.getMinutes();
var sec = time.getSeconds();
var da = time.getDate();
var daystr;
switch(daynum){
case 0: daystr="星期日";
break;
case 1: daystr="星期一";
break;
case 2: daystr="星期二";
break;
case 3: daystr="星期三";
break;
case 4: daystr="星期四";
break;
case 5: daystr="星期五";
break;
case 6: daystr="星期六";
break;
default: daystr="";
}
var str = year+"年"+month+"月"+da+"日 "+daystr+" "+hour+": "+min+": "+sec;
document.getElementById("t").innerHTML = str;
window.setTimeout(printTime, 1000);
}
</script>
<body onload="printTime()">
<br/>
<div id="t"></div>
</body>作者最新文章
D3.js 比例尺与坐标轴的配置详解
2026-11-05 16:54:46
JavaScript怎么遍历对象的Symbol键和不可枚举属性
2026-11-05 13:13:39
封装一个健壮的JS字符串判空工具函数
2026-11-05 12:16:14
JavaScript合并数组的三种常用方法:concat、扩展运算符与push
2026-11-05 11:22:29
JavaScript立即执行函数(IIFE)是什么及基本语法
2026-11-05 10:51:19
