[TimLinux] JavaScript 中循环执行和定时执行
1. 两对函数
// 循环执行
// 在每个毫秒数之后,调用函数
var timeid = window.setInterval(函数名, 毫秒数);
window.clearInterval(timeid ); // 定时执行:1秒=== 1000毫秒
// 在毫秒数之后,调用函数
var timeid = window.setTimeout(函数名, 毫秒数);
window.clearTimtout(timeid);
2. 闭包与循环调用
今天在开发过程中,想对一个验证失败的循环列表中的元素进行背景色标红,然后再2秒之后,取消标红功能,只保留边框为红色。使用的时候遇到一个提示:“mutable variable accessible from closure”,大概意思就是在setTimeout参数1:函数名对应的函数体中,使用了循环变量,这个变量是可变值,也就是说,在时间到的时候,我们调用函数,就会发现所有循环体针对的都是最后一个循环变量进行的操作。示例代码:
for (var i=0; i < fails.length; i++) {
setTimeout(function () { console.log(fails[i]; }, 2000);
}
// 出错位置:fails[i],因为i是可变值,在循环完成后,setTimeout含没有调用,
// 当开始调用的时候,i的值已经为比如:3, 这个时候4个setTimout函数操作的
// 就是同一个fails[3]元素了。
3. 如果解决
搜索了一圈,还没有找到解决办法,先记录在这里,等找到解决办法了,再回来完善吧。
[TimLinux] JavaScript 中循环执行和定时执行的更多相关文章
- Windows Server 2008中使用计划任务定时执行BAT bat进行PHP脚本的执行
Windows Server 2008中使用计划任务定时执行BAT bat进行PHP脚本的执行 2016年01月03日 17:36:00 持之以恒 阅读数:5520 标签: windows定时任务.b ...
- javascript中怎么让一个页面执行多个window.onload?
我们都知道在javascript中window.onload 只能有一个如果有多个的话后面的会覆盖前面的,今天我们来看看怎么让一个页面执行多个window.onload <script type ...
- 第112天:javascript中函数预解析和执行阶段
关于javascript中的函数: 1.预解析:把所有的函数定义提前,所有的变量声明提前,变量的赋值不提前 2.执行 :从上到下执行,但有例外(setTimeout,setInterval,aja ...
- loadrunner多场景的串行执行以及定时执行
方法一: 既然是脚本串行执行,那在场景设计中必然是要用多个脚本,要注意的是需要将Scenario Schedule中的Schedule by设置为Group的模式.然后按实际需要依次设置每个脚本的Sc ...
- js中的延迟执行和定时执行
在js中,延迟执行函数有两种,setTimeout和setInterval,用法如下: function testFunction(){Console.log('hovertree.com');} s ...
- Javascript中使用WScript.Shell对象执行.bat文件和cmd命令
WScript.Shell(Windows Script Host Runtime Library)是一个对象,对应的文件是C:/WINDOWS/system32/wshom.ocx,Wscript. ...
- Linux中使用crontab命令定时执行shell脚本或其他Linux命令
使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令.例如系统管理员安排一个备份任务使其每天都运行 如何往 cron 中添加一个作业? # crontab –e0 5 * ...
- 【转】Javascript中使用WScript.Shell对象执行.bat文件和cmd命令
WScript.Shell(Windows Script Host Runtime Library)是一个对象,对应的文件是C:/WINDOWS/system32/wshom.ocx,Wscript. ...
- python中使用schedule模块定时执行任务
python中有一个轻量级的定时任务调度的库:schedule.他可以完成每分钟,每小时,每天,周几,特定日期的定时任务.因此十分方便我们执行一些轻量级的定时任务. 代码如下: import sche ...
随机推荐
- PHP array_multisort实现二维数组排序
PHP array_multisort实现二维数组排序 参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY 子句的功能.第一个数组是要排序的主要数组.数组中的行(值 ...
- PHP过滤换行的方法
PHP过滤换行的方法 <pre> public function trimall($str) { $qian = array(" ", " ", & ...
- winds添加静态路由
如上图所示,wan口设备箱访问路由器栏口设备 route -p add 192.168.21.0 mask 255.255.255.0 192.168.0.176 -p 表示永久路由,重启后不丢失 ...
- 前端与算法 leetcode 7. 整数反转
目录 # 前端与算法 leetcode 7. 整数反转 题目描述 概要 提示 解析 解法 算法 传入测试用例的运行结果 执行结果 GitHub仓库 # 前端与算法 leetcode 7. 整数反转 题 ...
- pat 1065 A+B and C (64bit)(20 分)(大数, Java)
1065 A+B and C (64bit)(20 分) Given three integers A, B and C in [−263,263], you are supposed t ...
- 如何评价 Vue 的 Function-based Component?
作者:匿名用户链接:https://www.zhihu.com/question/325397290/answer/708418099来源:知乎 事实性错误: 那 vue 呢?它连 HOC 都没有,r ...
- java.lang.NoSuchMethodError: org.apache.tomcat.JarScanner.scan(Ljavax/servlet/ServletContext;Ljava/lang/ClassLoader;Lorg/apache/tomcat/JarScannerCallback;Ljava/util/Set;)V
java.lang.NoSuchMethodError: org.apache.tomcat.JarScanner.scan(Ljavax/servlet/ServletContext;Ljava/l ...
- 从零开始入门 | Kubernetes 中的服务发现与负载均衡
作者 | 阿里巴巴技术专家 溪恒 一.需求来源 为什么需要服务发现 在 K8s 集群里面会通过 pod 去部署应用,与传统的应用部署不同,传统应用部署在给定的机器上面去部署,我们知道怎么去调用别的机 ...
- node mysql+node+express 表查询及接口建立(6)
一.一张表查询 查询一张表在上一章节说过了,查询全部使用*,具体的就写字段名 'SELECT * FROM company' //查询所有使用* 'SELECT * FROM company WHER ...
- 2019-9-28:渗透测试,基础学习,pgp常量,逻辑运算,DNS投毒,笔记
sunny.exe clientid 隧道ID route -n 查看网关netstat -rn 查看网关 DNS劫持ettercap用来内网渗透测试使用,可以嗅探内网,DNS劫持等攻击1,在攻击者电 ...