JS定时器使用,定时定点,固定时刻,循环执行详解
本文概述:本文主要介绍通过JS实现定时定点执行,在某一个固定时刻执行某个函数的方法。比如说在下一个整点执行,在每一个整点执行,每隔10分钟定时执行的方法。
JavaScript中有两个定时器方法:setTimeout()和setInterval()。
这两个方法都可以用来实现在一个固定时间段之后去执行JavaScript。实际上,setTimeout和setInterval的语法相同。它们都有两个参数,一个是将要执行的代码字符串,或者函数名,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码。
不过这两个函数还是有区别的:
① setInterval()会多次执行要定时执行的代码或函数。经过了那个固定的时间间隔,它还会自动重复执行代码。
② setTimeout()只会执行一次那段代码或者指定的函数。
1.循环执行
下面的JS语句实现的是每过十分钟执行一次circulateExecute()方法。
//循环执行,每十分钟一次。10分钟后第一次执行。
setInterval("circulateExecute();",10*60*1000);//10分钟执行一次
2.下一个整点,或者某个时刻定点执行
以下javascript代码实现的是实现在当前时刻的下一个整点定点执行nextIntegralPointAfterLogin()方法。
var date = new Date();//现在时刻
var dateIntegralPoint = new Date();//用户登录时刻的下一个整点,也可以设置成某一个固定时刻
dateIntegralPoint.setHours(date.getHours()+1);//小时数增加1
dateIntegralPoint.setMinutes(0);
dateIntegralPoint.setSeconds(0);
setTimeout("nextIntegralPointAfterLogin();",dateIntegralPoint-date);//用户登录后的下一个整点执行。
3.每一个整点定点执行
通过上面介绍的在下一个整点执行nextIntegralPointAfterLogin()函数后,为了实现在每一个整点都执行某函数,可以在nextIntegralPointAfterLogin()函数中写上以下代码。
function nextIntegralPointAfterLogin(){
IntegralPointExecute();//在整点执行的函数,在每个整点都调用该函数
setInterval("IntegralPointExecute();",60*60*1000);//一个小时执行一次,那么下一个整点,下下一个整点都会执行
}
注意:由于JS计算的误差以及执行过程中需要一定的时间,所以上述定时定点执行方法可能会有一两秒的误差。以上这篇JS定时器使用,定时定点,固定时刻,循环执行详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
利用Javascript判断操作系统的类型实现不同操作系统下的兼容性
在通过Javascript实现客户端和服务端的交互时,有时候需要对操作系统进行判断,以便实现不同操作系统下的兼容性;从而实现网站在跨平台浏览时候保持良好的用户体验,感兴趣的朋友可以了解下啊,或许对你有所帮助2013-01-01
JavaScript中call和apply的用法、区别及应用场景
这篇文章主要介绍了JavaScript中的call和apply方法,它们都用于改变函数执行时的this指向,文中通过代码介绍的非常详细,需要的朋友可以参考下2025-03-03


最新评论