JavaScript setInterval 与 clearInterval 用法详解
本文详细解析JavaScript中setInterval函数的语法格式、参数含义及匿名函数调用方式,并介绍如何通过对象方法调用实现定时器功能。同时涵盖clearInterval清除定时器的机制,结合动态时间显示等实例说明其在动画帧速控制与屏幕刷新中的应用。
setInterval 基本用法与语法
setInterval 的主要功能是在动画播放过程中,按照设定的时间间隔周期性地调用指定的函数、方法或对象。利用这一机制,可以实时更新从数据库获取的变量值,或者动态刷新界面上的时间显示。
setInterval 的标准语法格式包含两种形式:第一种是 setInterval(function, interval[, arg1, arg2, ......argn]);第二种是 setInterval(object, methodName, interval[, arg1, arg2, .....argn])。
第一种格式是标准动作面板中 setInterval 函数的默认调用方式,而第二种格式则专门用于专家模式下的对象方法调用。
在第一种格式中,function 参数代表一个具体的函数名或者对匿名函数的引用。在第二种格式中,object 参数指定了从 Object 对象派生的目标对象,而 methodName 则指定了需要在该 object 中调用的具体方法名。
interval 参数用于设定对 function 或 methodName 进行两次调用的时间间隔,单位为毫秒。其后跟随的 arg1 等参数为可选参数,用于指定传递给 function 或 methodName 的具体数值或变量。
当 setInterval 设置的时间间隔小于动画帧速(例如每秒 10 帧,即 100 毫秒)时,系统会尽可能接近 interval 指定的时间间隔来调用函数。
为了确保屏幕以足够的频率刷新,必须配合使用 updateAfterEvent 动作。如果 interval 大于动画帧速,则仅在每次播放头进入某一帧时才调用函数,以此减少每次刷新屏幕带来的性能影响。
以下示例展示了如何每隔 1 秒调用一次匿名函数:setInterval(function(){trace("每隔1秒钟我就会显示一次")},1000)。这里的 function(){} 是没有函数名的匿名函数,后面的 1000 代表时间间隔,单位为毫秒。
接下来的示例演示了如何在使用 setInterval 时传递参数。
具体代码如下:
function show1(){
trace("每隔1秒显示一次");
}
function show2(str){
trace(str);
}
setInterval(show1,1000);
setInterval(show2,2000,"每隔2秒我就会显示一次");对象方法的 setInterval 调用
上述内容介绍了函数的 setInterval 方法。
接下来介绍对象的 setInterval 方法。
首先,通过一个在动作中调用对象方法的示例来演示,该示例不需要传递额外参数。
代码如下:
myobj=new Object();//创建一个新的对象
myobj.interval=function){
trace("每隔1秒显示一次");
} //创建对象的方法。
setInterval(myobj,"interval",1000);//设定时间间隔调用对象的方法。接下来介绍如何传递参数,其原理与函数传递参数相同。
代码如下:
myobj=new Object();
myobj.interval-function(str){
trace(str);
}
}setInterval(myobj,"interval",2000," 每隔2秒我就会显示一次");需要注意的是,要调用为对象定义的方法时,必须在专家模式下使用第二种语法格式。
基于此原理,我们可以制作一个动态显示时间的画面,实现代码如下:
代码如下:
setInterval(show,1000);
function show(){
time=new Date();
hour=time.getHours();
minu=time.getMinutes();
sec=time.get.Seconds();
datetime=hour+":"+minu+":"+sec;
} //这里的datetime是一个动态文本框的变量名字。clearInterval 清除定时器
通过上述示例,大家对 setInterval 方法应该已经掌握。现在进一步学习 clearInterval。
clearInterval 的作用是清除对 setInterval 函数的调用,其语法格式为 clearInterval(intervalid),其中 intervalid 是调用 setInterval 函数后返回的对象标识。
下面举一个简单的清除定时器的例子。
代码如下:
function show(){
trace("每隔一秒显示一次");
}
var sh;
sh=setInterval(show,1000);
clearInterval(sh);JavaScript闭包与类(Class)的区别及适用场景对比
2026-11-05 15:48:57
JavaScript入门要学ES6吗?let与箭头函数等新特性解析
2026-11-05 14:49:16
JavaScript 8种数据类型详解:基本类型与引用类型的区别
2026-11-05 14:25:15
怎么在JavaScript中使用async/await优化Ajax异步流程
2026-11-05 13:56:15
JavaScript replace回调函数实现动态正则替换逻辑
2026-11-05 13:52:13
