关于for循环与setTimeout的延迟
在for循环中使用setTimeout时,想使其每个setTimeout在上一个setTimeout的基础上进行延时,使用传入数组方式设置时间时,发现实际是按照每次设置的setTimeout的延时执行的,而不是相加,例:
let time = [4, 3, 5, 1, 2]; for(let i = 0; i < time.length; i++){ // 当i=1时,想其延时7s打印一个3 setTimeout(function(){ console.log(time[i]); }, time[i]*1000); }
而其结果却是1,2,3,4,5
通过查阅别人的博客,发现使用for循环进行多次setTimeout时,
假设for循环耗时为0s,其5次setTimeout为同时设置,则该for循环的结果就是按延时从小到大输出数组的元素。
若想进行延时的累加,则可以如此:
let time = [4, 3, 5, 1, 2]; let timeUp = 0; for(let i = 0; i < time.length; i++){ // 当i=1时,想其延时7s打印一个3 timeUp+=time[i]; setTimeout(function(){ console.log(time[i]); }, timeUp*1000); }
关于for循环与setTimeout的延迟的更多相关文章
- 浅谈循环中setTimeout执行顺序问题
浅谈循环中setTimeout执行顺序问题 (下面有见解一二) 期望:开始输出一个0,然后每隔一秒依次输出1,2,3,4. for (var i = 0; i < 5; i++) { setTi ...
- for循环与for in,$('').each 与$.each的区别
一:for循环与for in的区别 for...in 语句用于对数组或者对象的属性进行循环操作. 语法: for (变量 in 对象){ 在此执行代码} for循环是对数组的元素进行循环,而不能 ...
- for循环与foreach的区别
for循环与foreach的区别 foreach 依赖 IEnumerable. 第一次 var a in GetList() 时 调用 GetEnumerator 返回第一个对象 并 赋给a, 以后 ...
- 你不知道的JavaScript--Item17 循环与prototype最后的几点小tips
1.优先使用数组而不是Object类型来表示有顺序的集合 ECMAScript标准并没有规定对JavaScript的Object类型中的属性的存储顺序. 但是在使用for..in循环对Object中的 ...
- Python 中的循环与 else
1. 含义 Python 中的循环与 else 有以下两种形式 for - else while - else Python中的 for.while 循环都有一个可选(optional)的 else ...
- while + else 使用,while死循环与while的嵌套,for循环基本使用,range关键字,for的循环补充(break、continue、else) ,for循环的嵌套,基本数据类型及内置方法
今日内容 内容概要 while + else 使用 while死循环与while的嵌套 for循环基本使用 range关键字 for的循环补充(break.continue.else) for循环的嵌 ...
- for循环与range的使用
for循环与range的使用 for循环 for循环的本质 for循环和while循环功能基本一致,while循环可以做到的事情for循环也都可以做到,但是for循环可以给他增加一个定义循环次数和范围 ...
- for循环+setTimeout的延迟操作
例子: for (var i = 0; i < 5; i++) { setTimeout(function () { console.log(i); }, 100) } 上述代码,输出结果显而易 ...
- for循环中setTimeout,var与let的不同
先看下面两段代码 for (let i = 0; i < 5; i++) { setTimeout(function () { console.log(i) }, 2000) } for (va ...
随机推荐
- python基础4--控制流
1.if语句 结构: if condition: do something elif other_condition: do something number = 60 guess = int(inp ...
- tar -P参数含义
-p(小写) :保留备份数据的原本权限与属性,常用于备份(-c) 重要的配置文件-P(大写) :保留绝对路径,亦即允许备份数据中含有根目录存在之意: 在加上绝对路径出现的那个警告讯息“tar: Rem ...
- TypeScript,初次见面,请多指教 ?
为什么用 TS ? 说实话,最开始并没有想把 TS 用到实际项目中来,一来是感觉"类型"会限制 JS 的优势(好吧,就是浪写浪惯了):二来听闻 TS + Redux 的酸爽滋味,有 ...
- git克隆github上的代码(整个分支),并使用vs code上传到github
好久没写博客辣,之前一直用sublime text3,最近开始用vc写,感觉很良好.然后公司也在用git,就写一个克隆上传的教程吧 1.下载git https://www.git-scm.com/do ...
- Dynamics 365新引入了多选选项集类型字段
本人微信和易信公众号:微软动态CRM专家罗勇 ,回复276或者20180630可方便获取本文,同时可以在第一间得到我发布的最新的博文信息,follow me!我的网站是 www.luoyong.me ...
- ArcGIS 网络分析[3] 发布NAServer到ArcGIS for Server(以Server 10.4为例)
前阵子对ArcGIS API For JavaScript的网络分析有兴趣,但是不知道其数据是如何获取的. 查阅API知道,AJS的网络分析只有三个功能:最短路径(RouteTask).最近设施点(C ...
- 开源ERP-成功案例分析(3)
Odoo用户概要 关于Odoo全球的用户,我们来看一些数据: Odoo目前全球有300万使用者 Odoo系统上每天新创建的数据库超过1000个 Odoo和Word.Excel.PowerPoint一样 ...
- windows蓝屏代码
原始链接 引用自 https://docs.microsoft.com/zh-cn/windows-hardware/drivers/debugger/bug-check-code-referenc ...
- iOS ----------各种判断
iOS 判断数字 - (BOOL) deptNumInputShouldNumber:(NSString *)str { if (str.length == 0) { return NO; } NSS ...
- vulnhub writeup - 持续更新
目录 wakanda: 1 0. Description 1. flag1.txt 2. flag2.txt 3. flag3.txt Finished Tips Basic Pentesting: ...