如何在setTimeout函数中获取确切的值

穆罕默德·瓦西姆(Muhammad Wasim)

简单的问题...

for (var i = 0; i < 5; i++) {            
   setTimeout(function () { alert(i) }, 3000);
}

如何以i的确切值发出5次警报。

它仅给出5次“ 5”。

我需要它的结果,如0 1 2 3 4

阿德内

使用闭包将变量的值保持在立即调用的函数的新范围内

for (var i = 0; i < 5; i++) {            

   (function(j) {

       setTimeout(function () { alert(j) }, 3000);

   }(i));
}

setTimout是异步的,因此在执行循环之前,它已经完成很长时间了,并且的值i已更改为5,因此您需要将其锁定。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在python中获取确切的float值?

如何从类似查询的sql中获取确切的值

如何在Android中获取确切的TimeAgo

如何在xpath中获取确切的img src

如何在javascript中获取确切的媒体查询值?

如何从NSNumberFormatter获取确切的值?

如何使用循环获取确切的值列表结果

如何在mysql查询中获取结果,其中字段包含确切的字符串

如何在MySQL中搜索确切的字符串值?

如何在Zeplin中修复间距特征”,它显示:“ NaNpx”而不是确切的px值

如何从json输出中获取确切的对象

如何从不同的类中获取确切的对象?

如何在python中查找确切的根(立方)

如何在Makefile中记录确切的配方行

如何在大邮件中搜索确切的单词?

如何在SQL中获得确切的年份差异

如何在Pandas数据框中按值获取确切的行和列号,即单元格地址

如何找到确切的Instr值

如何在C#中从cosmos db获取确切的最新5分钟数据

如何在Spring MVC中获取确切的客户端浏览器名称和版本?

如何在Java中的两个字符之间获取确切的字符串

如何在SQL中的两个字符串之间获取确切的字符差异

BeautifulSoup问题:如何通过匹配确切的标签内容来获取确切的链接?

从angularjs的列表框中获取确切的选定值

如何在mysql查询条件中选择确切的json值

如何在列中找到确切的单元格值?

如何使用PHP在数组中获取确切的键值?

如何从相对版本中获取确切的最新npm版本?

如何从Google脚本中的Gmail线程获取确切的邮件标签?