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计算的误差以及执行过程中需要一定的时间,所以上述定时定点执行方法可能会有一两秒的误差。
————————————————
版权声明:本文为CSDN博主「daydayupzzc」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/daydayupzzc/article/details/38817343

文中定时器中的参数 ‘dateIntegralPoint - date’ 为当前时间和下个需要执行定时器事件的毫秒差

 

转载于:https://www.cnblogs.com/yearshar/p/11528330.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/349543.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

axios 跨域_当遇到跨域开发时,我们如何处理好前后端配置和请求库封装

我们知道很多大型项目都或多或少的采用跨域的模式开发, 以达到服务和资源的解耦和高效利用. 在大前端盛行的今天更为如此, 前端工程师可以通过nodejs或者Nginx轻松搭建起web服务器.这个时候我们只需要请求后端服务器的接口即可实现系统的业务功能开发.这个过程中会涉及到web页面…

Java数据类型和标识符

在本教程中,我们将了解Java中的数据类型和标识符。 Java语言具有丰富的数据类型实现。 数据类型指定大小和可以存储在标识符中的值的类型。 Java数据类型分为两类: 原始数据类型 非原始数据类型 原始类型 Java定义了八种原始数据类型:字…

哈罗顺风车送到终点吗_没有了顺风车,滴滴“特惠拼车”来了!比拼车更低价,比顺风车更安全吗?...

近日,有网友表示,滴滴出行App内出现了“特惠拼车”功能,据悉,该功能主要给乘客提供长距离拼车出行的优惠折扣。如果拼车价格为44.8元,那“特惠拼车”的价格为30.7元。但是该功能目前还未在上海出现。近日,有…

管理角色认知-工程师到管理者角色发生了哪些变化?

背景 不同等级的管理者需求不同; 管理者需求说明新经理提供管理相关的工具和方法能力层面,术高级经理提升角色认知认知和理解,道,系统通过认知上的改变达到能力和行为上的改善一个人的行为,能力,价值观都源…

axure 小程序 lib_小程序定制开发的步骤有哪些?

经过两年多的微信小程序开发,各种功能应用变得越来越成熟,越来越多的企业和企业正在开发微信小程序用于在线营销。如果您的公司尚未开发成都小程序,它将变得越来越凶猛。在竞争激烈的市场环境中,将失去许多获得和营销客户的机会。…

java 检查打印机状态_爱普生打印机常见故障有哪些 爱普生打印机故障解决方法【详解】...

任何设备在使用一段时间后都会出现一些小问题,打印机也不例外,那么爱普生打印机常见的故障有哪些 ,出现问题该怎么解决呢?下面小编就来分享2018爱普生打印机故障解决方法 ,一起来看看吧!一、故障现象 &a…

eureka 之前的服务如何关闭_干货分享 | 服务注册中心Spring Cloud Eureka部分源码分析...

友情提示:全文13000多文字,预计阅读时间10-15分钟Spring Cloud Eureka作为常用的服务注册中心,我们有必要去了解其内在实现机制,这样出现问题的时候我们可以快速去定位问题。当我们搭建好Eureka Server服务注册中心并启动后&#…

局部变量写在循环内还是外_循环内的局部变量和性能

局部变量写在循环内还是外总览 有时会出现一个问题,即分配一个新的局部变量需要多少工作。 我的感觉一直是,代码已优化到成本为静态的程度,即一次执行,而不是每次运行都执行一次。 最近, Ishwor Gurung建议考虑将一些…

csp-s模拟测试44「D·E·F」

用心出题,用脚造数据 乱搞场 1 #include<bits/stdc.h>2 #define re register3 #define int long long4 #define inf 0x7ffffffffffffff5 using namespace std;6 int n,a[100010],b[100010],ansinf;7 double st,ed;8 inline int read(){9 re int a0,b1; re char chget…

c++中的new_怎么在java中创建一个自定义的collector

简介在之前的java collectors文章里面&#xff0c;我们讲到了stream的collect方法可以调用Collectors里面的toList()或者toMap()方法&#xff0c;将结果转换为特定的集合类。今天我们介绍一下怎么自定义一个Collector。Collector介绍我们先看一下Collector的定义&#xff1a;Co…

Java 9中的新Regex功能

最近&#xff0c;我收到了Packt出版的Anubhava Srivastava提供的免费书籍“ Java 9 Regular Expressions” 。 这本书是一个很好的教程&#xff0c;它向任何想学习正则表达式并从头开始的人介绍。 那些知道如何使用正则表达式的人可能仍然很有趣&#xff0c;以重申其知识并加深…

c语言实现二分法_C语言实现二分法求解方程在区间内的根

C语言实现二分法求解方程在区间内的根。设有非线性方程&#xff1a;其中&#xff0c; 为 上连续函数且设 (不妨设方程在 内仅有一个实根)&#xff0c;求上述方程实根的二分法过程&#xff0c;就是将含根区间[a,b]逐步分半&#xff0c;检查函数值符号的变化&#xff0c;以便确定…

计划

赤 wqs二分 https://www.cnblogs.com/Juve/p/11479423.html https://www.cnblogs.com/Rorschach-XR/p/11479602.html 反悔贪心 https://www.cnblogs.com/cjyyb/p/9367948.html https://www.cnblogs.com/Miracevin/p/9795871.html https://blog.csdn.net/weixin_34344677/articl…

java写入文件编码格式为ansi_Windows10 bat批处理删除 快速打开文件夹 固定到开始菜单或任务栏...

1. 快速打开文件夹1.1 bat文件如果你经常打开一个被放在很深的文件夹&#xff0c;于是浪费很多打开文件的时间&#xff1a;开始>此电脑>Data(D:)>文件夹1>文件夹2...>文件夹n>平均要浪费大约10秒的时间&#xff0c;如果每天打开100次&#xff0c;那么1000秒&…

python中__init__.py的作用、module和package

控制包的导入行为&#xff1a; 1、声明当前文件是一个可导入的包&#xff1b;2、如果当下包下有多个.py文件使用__ all__ [ 模块名]&#xff0c;也就是form XXX import YYYmodule和package 为了编写可维护的代码&#xff0c;我们把很多函数分组&#xff0c;分别放到不同的文件…

java default修饰符_Java基础语法二

Java循环结构for循环/* for(初始化;布尔表达式;更新) {执行代码 } */ for(int i0; i < 5; i) {System.out.println(i); }最先执行初始化步骤&#xff1b;可以声明一种类型&#xff0c;但可初始化一个或多个循环控制变量&#xff0c;也可以是空语句然后检测布尔表达式&#x…

微信开发修改button里的字体大小_微信小程序全栈开发课程【视频版】2.2 index页面完善...

​点击观看视频课程 ↓↓↓微信小程序首页完善https://www.zhihu.com/video/1195308096099282944课程文字版1、template 部分&#xff08;1&#xff09;修改template部分的代码template里面包含html代码&#xff0c;对应着原生小程序框架里中的.wxml文件。我们将index.vue文件中…

jaxb list集合对象_JAXB –表示空集合和空集合

jaxb list集合对象示范代码 以下演示代码将用于Java模型的所有不同版本。 它只是将一个集合设置为null&#xff0c;第二个设置为空列表&#xff0c;第三个设置为填充列表。 package package blog.xmlelementwrapper;import java.util.ArrayList; import javax.xml.bind.*;publ…

.net 把一个对象赋值给一个参数_Java GC回收算法-判定一个对象是否可以回收

开源推荐推荐一款一站式性能监控工具&#xff08;开源项目&#xff09;Pepper-Metrics是跟一位同事一起开发的开源组件&#xff0c;主要功能是通过比较轻量的方式与常用开源组件&#xff08;jedis/mybatis/motan/dubbo/servlet&#xff09;集成&#xff0c;收集并计算metrics&a…

管理角色认知-新晋管理常常犯的错

背景 管理是一门实践科学&#xff0c;从知道到做到&#xff0c;需要长时间的刻意练习&#xff0c;提前知道那些坑&#xff0c;可以提前规避。 坑1&#xff1a;被动执行 现象&#xff1a; 不主动找活干&#xff0c;等上级派活&#xff1b; 上级有了安排&#xff0c;指望上级替他…