JavaScript定时器

本文详细介绍了JavaScript中的定时器,包括间歇定时器和延迟定时器的创建与清除,以及定时器存在的问题。通过示例展示了如何使用setInterval和setTimeout实现倒计时功能,并讨论了它们的精度问题和解决方案。
摘要由CSDN通过智能技术生成

定时器

window对象提供了定时器功能。定时器的功能是:在规定的时间自动执行某个函数。

在浏览器中,window是JavaScript的Global对象(全局对象)。此外,window也表示一个包含DOM文档的浏览器窗口(标签页)或框架,其document属性指向浏览器窗口或框架中载入的DOM文档。
window有很多属性和方法,例如,我们已经见过无数次的console.log()方法;
示例如下。
window.console.log(‘’);
调用window下的方法时,一般可以省略window,因此,上述代码可以简写为:
console.log(‘’);

根据执行的机制,定时器分为“间歇定时器”和“延迟(超时)定时器”,前者是每间歇一段时间就会执行指定的函数;后者是在指定的时间到期后就会执行指定的函数。间歇定时器会以指定的间歇时间作为周期循环不断地执行函数;而延迟定时器则只在时间到期时执行一次函数。

一、间歇定时器的创建与清除

间歇定时器的创建使用window对象的setInterval()方法。在JS中,对象方法的调用格式通常为:对象名。方法,但由于window对象是全局对象,访问同一个窗口中的方法时,可以省略对象名“window”,所以对window对象方法,通常都是直接使用方法。使用setInterval()创建间歇定时器的格式如下:

[定时器对象ID = ]setInterval(函数调用|函数定义,毫秒);

语法说明:setInterval()主要包含两个参数,第一个参数就是定时器需要定时执行的函数,该参数可以是一个用函数名表示的函数调用语句,也可以是一个函数定义语句,示例如下:

function fn(){
   
	console.log('创建间歇定时器');
}
setInterval(fn,1000);//定时器第一个参数为函数调用语句

//以上代码等效下面的代码:
setInterval(function(){
   
	console.log('创建间歇定时器');
},1000);//定时器的第一个参数为函数定义语句,注:其中定义的函数可以是匿名或有名,但通常都定义为匿名

上面的代码每隔1s在控制台输出’ 创建间歇定时器’。

setInterval()第二参数是一个单位为毫秒的数值(表示执行第一个参数指定操作所需的等待时间)。该方法表示每隔由第二个参数设定的毫秒数,就执行第一个参数指定的操作。setInterval()执行后将返回一个唯一的数值ID。
通过定时器返回的ID,可以清除定时器。清除间歇定时器的格式如下:

clearInterval(定时器对象ID);

下面使用倒计时的示例演示间歇定时器的创建和清除。
【示例1】间歇定时器的创建和清除。

<!doctype html>
<html>
	<head>
		<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只造梦者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值