js for循环如何延时js休眠1秒

本文概述:本文主要介绍通过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);//小时数增加1dateIntegralPoint.setMinutes(0);dateIntegralPoint.setSeconds(0);setTimeout("nextIntegralPointAfterLogin();",dateIntegralPoint-date);//用户登录后的下一个整点执行。
3.每一个整点定点执行
通过上面介绍的在下一个整点执行nextIntegralPointAfterLogin()函数后,为了实现在每一个整点都执行某函数,可以在nextIntegralPointAfterLogin()函数中写上以下代码。
function nextIntegralPointAfterLogin(){
IntegralPointExecute();//在整点执行的函数,在每个整点都调用该函数setInterval("IntegralPointExecute();",60*60*1000);//一个小时执行一次,那么下一个整点,下下一个整点都会执行
注意:由于JS计算的误差以及执行过程中需要一定的时间,所以上述定时定点执行方法可能会有一两秒的误差。
js 定时器、延时和周期
js 定时器有以下两个方法:
setInterval() :按照指定的周期(以毫秒计)来调用函数或计算表达式。方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。setT...
js定时器(二)延时消失的菜单
这个小练习,我有点偷懒了=.=.一.要实现的效果这个效果和之前的简易qq面板有些类似
1.点击导航延时出现子列表
2.子列表延时消失
3.鼠标放在子列表上,子列表不消失二.效果图三.代码1.cs...
js定时器(执行一次、重复执行)
1,只执行一次的定时器
//定时器 异步运行
function hello(){
alert(&hello&);
//使用方法名字执行方法
var t1 = window.set...
js 实现延时或定时 运行某个函数 -- setTimeout
window.onload=function(){
setTimeout('getTest()',1000);
function getTest(){
当js中的for循环遇到延时器或者定时器时需要注意的问题
当你在for循环里写if判断,再加延时器或者定时器时,一定要保存当前的i的值,再做处理,否则你拿到的i的值会是for循环里最大的那个;
for (var i = 0; i & 10; i+...
一、定时调度:效果:定时器从0~9:&!DOCTYPE html&
&html lang=&en&&
用&em&js&/em&写的&em&定时器&/em&小例子,适合每一位初学者。... 用&em&js&/em&写的&em&定时器&/em&小例子,适合每一位初学者。综合评分:0 ...&em&延时&/em&加载&em&JS&/em&,解决&em&JS&/em&阻塞问题 立即下载
上传者: warmerse...
在javascritp中,有两个关于定时器的专用函数,分别为:
1.倒计定时器:timename=setTimeout(&function();&,delaytime);
2.循环定时器:time...
JS中的定时器,延迟器 18:08JavaScript中的定时器收藏定时器:(延迟器) 用以指定在一段特定的时间后执行某段程序。setTimeout():(1.0版) 格式:[定时...
js延时器setTimeout改造为定时器
核心思维----利用回调函数改造,让setTimeout延时器执行自身回调函数
&!DOCTYPE html&
没有更多推荐了,AngularJS 1.3 支持使用 $digest() 循环实现延迟 - 技术翻译 - 开源中国社区
AngularJS 1.3 支持使用 $digest() 循环实现延迟
【已翻译100%】
英文原文:
推荐于 4年前 (共 3 段, 翻译完成于 09-21)
参与翻译&(1人)&:
当在扩展一个Angular应用的时候,巨大的数据集导致$digest()循环运行缓慢。你可以做许多性能上的优化,比如小心$watch()和$filter(),使用一次性绑定,或者使用Batarang找出消耗性能的操作。但有时,即便做了这些提升,由于$digest()循环,具有大量数据的应用还是可以感觉到迟钝。一个典型的例子是键盘输入。如果你有许多数据,并且每当用户向一个input或者textarea输入字符时你的$digest()循环都会开始,那么当有些人打字很快或者一直按着空格键,就会导致处理器过载,于是你就会发现屏幕上的文字更新有明显的延迟。&
&翻译得不错哦!
我找到处理这个$digest()循环延迟问题的最佳方案是使用debounce函数。你问什么事debounce函数?好吧,John Hann早在2000年写过一篇很好的文章来解释,并且使用pureJS来实现了它。几年后,人们有那个自定义angular服务实现了它。这显得更加angular了,只是让你的代码有点小凌乱。不过现在,Angular 1.3已经官方支持了debounce,所以digest循环延迟变得很容易处理。
提示:debounce函数是指,只要它一直在被调用,它就不会被触发,直到它不再被调用的X毫秒后。&&
打个比方,你可以在一个文本框上使用一个150毫秒的debounce函数,那么直到用户停止输入150毫秒后,$digest()&循环才会被触发。随着Angular最新的本地化支持,这变得更加简单了。你需要的只是一个HTML属性,就可以像这样来延迟执行$digest()&循环:&
&input&ng-model="user.name"&ng-model-options="{&debounce:&150&}"&/&
&翻译得不错哦!
那么debounce最好应该延迟几毫秒?好吧,这主要取决于你的$digest()循环的工作量。一方面讲,你的debounce的延迟时间越短,那么从用户开始输入到$digest()被触发和完成的时间也就越短。&这将决定一个应用给人感觉上的响应能力。如果延迟时间太长,你的app将看上去不怎么灵敏。但从另一方面说,如果你的debounce时间太短,$digest()循环将运行的过于频繁,也就回导致你的应用感觉上更加慢了。你会理解什么选择对你的应用来说是最好的。
祝优化顺利!&&
&翻译得不错哦!
我们的翻译工作遵照 ,如果我们的工作有侵犯到您的权益,请及时联系我们1. jquery的方法
设置一个延时来推迟执行队列中之后的项目。这个方法不能取代JS原生的
The .delay() method is best for delaying between queued jQuery effects. Because it is limited——
例子:在和 之间延时毫秒。
&div id="foo /"&
jQuery 代码
$('#foo').slideUp(300).delay(800).fadeIn(400);
2. 通过循环消耗
function sleep(n) {
var start = new Date().getTime();
while(true)
if(new Date().getTime()-start & n)
3. 用setTimeout。
假设有三个步骤,步骤之间需要暂停一段时间;可以采用如下的方法:
function firstStep() {
//do something
setTimeout("secondStep()", 1000);
function secondStep() {
//do something
setTimeout("thirdStep()", 1000);
function thirdStep() {
//do something
____________________________________________________________________________________________
&script language="JavaScript" type="text/javascript"&
//setTimeout后固定时间后执行指定内容,单位毫秒
var iID=setTimeout(function(){
alert(iID);
var iID=setTimeout("clock()",2000);//或者var iID=setTimeout(clock,2000);
function clock(){
alert(iID);
clearTimeout(iID);
//setInterval用法与setTimeout相同,只是setTimeout固定时间后执行且只执行一次。setInterval循环每过一段固定时间执行一次。
//每次调用setTimeout或setInterval函数都会产生一个唯一的ID,可以通过clearTimeout或clearInterval函数(这两个函数的参数对应接收一个setTimeout或setInterval返回的ID)暂停setTimeout或setInterval函数,(同一个setInterval循环其返回值不变)
//但是测试clearInterval(iID)可阻止setTimeout,clearTimeout(iID)也可阻止setInterval的继续执行
__________________________________________________________________________________________________________
js定时执行方法的方法有两种:
setTimeout("Function",time);
SetInterval("Function",time);
区别:1.setTimeOut方法在一定时间后执行某方法,只执行一次,setInterval方法是每间隔一定时间都执行指定方法2.clearTimeout(对象) 清除已设置的setTimeout对象;clearInterval(对象) 清除已设置的setInterval对象
nodejs中实现sleep功能,暂停几秒.
在使用nodejs爬虫的时候,经常会遇到别人的网站对频率的反爬机制,
这个时候如果不做处理程序就会挂掉,重新启动也会继续被屏蔽.这个问题怎么解决呢,
我的想法就是程序暂停10分钟或者更...
es5、promise、async以及generator中实现sleep的方法
简要介绍:在多线程编程中,sleep的作用是起到挂起的作用,使线程休眠,而js是单线程的,我们如何在js中模拟sleep的效果呢~
也就是如何用同步的方式来处理异步。
序:为什么不能用setTim...
js实现sleep功能
js中一般用setTimeout或者setTimeInterval实现函数的延迟执行,但是这两个方法相当于开启的新的线程进行等待,而如果我们想让代码串行的进行等待,这两个函数就实现不了了。
这时,可...
在Js中使程序睡眠的sleep方法
此函数能使js睡眠,将函数贴到代码中即可使用使用例子:sleep(5000);
//睡眠5秒function sleep(numberMillis) {
var now = new Date()...
js的休眠实现---sleep()
场景:js的休眠实现---sleep()
js方法执行中休眠几秒
通过循环消耗cpu
function sleep(n) {
var start = new Date().getTime();
while(true)
JS中定时执行,setTimeout和setInterval的区别,以及l解除方法
setTimeout(Expression,DelayTime),在DelayTime过后,将执行一次Expression,setTimeout 运用在延迟一段时间,再进行某项操作。setTimeou...
JS 睡眠函数用法
* 先从正常的延时执行说起,以下代码会在2s后弹出true,OK
function st(){
alert(true);
setTimeout(st, 2000);
js实现停留几秒sleep
js中没有自带的sleep方法,要想休眠要自己定义个方法
function sleep(numberMillis) {
var now = new Date();
var exi...
Js利用setTimeout实现在循环中每次睡眠固定时长的效果
此方式不能直接写在for循环里面,只能通过在递归中判断循环条件的方式延迟程序的执行
function delay(j){
setTimeout(function(){
没有更多推荐了,浅谈js中的延迟执行和定时执行
转载 &更新时间:日 11:10:11 & 投稿:jingxian
下面小编就为大家带来一篇浅谈js中的延迟执行和定时执行。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
在js中,延迟执行函数有两种,setTimeout和setInterval,用法如下:
function testFunction(){Console.log('hovertree.com');}
setTimeout("testFunction()","6000"); //6000毫秒后执行testFunction()函数,只执行一次。
setInterval("testFunction()","6000");//每隔6000毫秒执行一次testFunction()函数,执行无数次。
varinterval = window.setInterval("testFunction()","6000");//
window.clearInterval(interval);
//停止执行setInterval循环。
当我们想让testFunction()函数每隔6000毫秒执行一次,执行10000毫秒后停止执行时,可以用两者三者结合使用来实现。
varinterval2 = window.setInterval("testFunction2()",6000);
setTimeout(function() {window.clearInterval(interval2);},10000);
以上这篇浅谈js中的延迟执行和定时执行就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具JS红皮书解读之延时器和定时器 - 简书
JS红皮书解读之延时器和定时器
注意区分执行时间和间隔时间
执行时间:定/延时器代码执行的时间
间隔时间:定/延时器设置每隔 xxxms 执行
一、延时器(setTimeout)
1.延时器(setTimeout)的工作方式是:当设定一个延时器是5s后进行时,并不代表它5s后就立即执行,只是代表它5s后会被加入队列,如果5s后,队列没有其他东西,那么延时器的代码会立即执行,否则会延迟执行。
因此,关于延时器最重要的一点是:指定的时间间隔(如设置5s后执行),表示何时将延时器加入到队列,而不是何时真正执行代码。
//经测试,下面这段不起作用,可能是被废弃了。
2.Firefox中的延时器的实现还能让开发者确定延时器过了多久才执行,需要传递一个实际执行的时间(actualTime)与执行时间的间隔(specifiedTime)(如设置5s后执行)的差值(diff=actualTime-specifiedTime)
document.querySelector('#btn1').onclick=function () {
console.time()
setTimeout(function (diff) {
if(diff&0){
//晚调用,因为actualTime大于specifiedTime
console.log('时间差为'+diff)
}else if(diff&0){
//早调用,因为actualTime小于specifiedTime
console.log('时间差为'+diff)
console.log('时间差为'+diff)
console.timeEnd()
二、定时器(setInterval)
1.定时器的一大特点是每隔一段时间(如每隔2s)就会执行,一直重复。这样有个问题:设定一个定时器a每隔2s执行一次,如果a执行的时间(executiveTime)大于时间间隔(2s),那么,第一次执行的a还没执行完第一次,就开始执行第二次了。
js巧妙地避免了这个问题——即等到定时器的代码执行完后,再去将定时器的代码加入到队列中,所以定时器代码加入队列的最小时间间隔即指定间隔(因为理想状态是是定时器的执行时间在时间间隔内完成)。
2.使用setInterval的问题
(1)某些间隔会被跳过——如设置每个1s执行一次,如果该定时器代码执行时间大于1s,或者正好等于1s,那么,相当于代码执行时间正好等于间隔时间,那么,这个间隔时间就被执行时间占据了,所以就没有了间隔时间即没有间隔。
(2)多个定时器代码执行之间的间隔可能会比预期小
因为代码执行时间会长一点(因为队列并不总是空闲的,所以要排队等待执行),导致时间间隔变小。
解决:使用递归调用延时器,代替定时器
setTimeout(function () {
//执行代码
setTimeout(arguments.callee,1000)
arguments.callee的作用是获取当前执行函数的引用,并设置新的相同的延时器再来一次,即递归调用?。
好处不再赘述了,即解决了上面的两个问题 :)
实际遇到的问题.当js中的for循环遇到延时器或者定时器时需要注意的问题
一定要保存 i !!!
pdf下载地址:Java面试宝典 第一章内容介绍 20 第二章JavaSE基础 21 一、Java面向对象 21 1. 面向对象都有哪些特性以及你对这些特性的理解 21 2. 访问权限修饰符public、private、protected, 以及不写(默认)时的区别(201...
1.ios高性能编程 (1).内层
最小的内层平均值和峰值(2).耗电量
高效的算法和数据结构(3).初始化时间app再启动时花费的时间
例如:app启动时可能包含操作:
1&.检查版本更新
2&.初始化三方地图环信(可能还有登录)分享统计
3&.游客身...
一、定时器工作原理 众所周知,JavaScript运行于单线程环境,但我们却普遍误解了定时器(以为它是一个单独的线程)。事实上,定时器仅仅只是 计划代码在未来的某个时间执行,并不能保证。
在页面的生命周期中,任何时刻都有新的代码被插入到代码执行队列,而定时器对执行队列的影...
一. NSTimer NSTimer的初始化方法有以下几种: 会自动启动, 并加入* MainRunloop*的* NSDefaultRunLoopMode*中, 注意: 这里的自动启动, 并不是马上就会启动, 而是会延迟大概一个interval的时间: + (NSTime...
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式...
冬日散淡,意头漠漠凉风。 读天赐“太湖春回”图, 想见江南春意, 念范蠡之游思, 兴感归程是何处,吟作此—— 苍苍起翠末 君子一何然衰草白芦苇 幼凫傍水闲文章自命达 落日半山眠遥望寒菊影 依依桃花渊
断续地学了大半年多的素描终于告一段落。虽然前期也有觉得很困难的时候,但是好在没有放弃。勤奋的练习是唯一的路径
继续写下去,我把那一个个的口子给放出来 1.裸贷 这个贷款已经逼死过一些女生,唯一庆幸我不是美女
汤子凡:5.17早评如今失落的黄金,将何去何从
没有一成不变的市场,只有不懂灵活操控的人!机遇稍纵即逝,不像茶水等凉了再去喝!交易暗藏风险,有时候等你看明白了,一切也都成历史了!山不过来,我过去!在这里,最大的价值是时间,最大的风险是拖延!方向反了,停止就是进步...}

我要回帖

更多关于 电脑休眠了怎么唤醒 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信