体彩排列5双期走势图

站长网_站长创业_站长主页_站长之家_易采站长站

会员投稿 投稿指南 站长资讯通告: js实现异步循环实现代码
搜索:
您的位置: 主页 > 教程 > 网页编程 > JavaScript > » 正文

js实现异步循环实现代码

来源: 易采站长站

问题
实现异步循环时,你可能会遇到问题。

让我们试着写一个异步方法,一次循环打印一次循环的索引值。

<script>
for(var i = 0; i < 5; i++){
setTimeout(function(){
document.writeln(i);document.writeln("<br />");
},1000);
}
</script>

如上程序的输出为:

5
5
5
5
5

原因

每次时间结束(timeout)都指向原始的i,而并非它的拷贝。所以,for循环使i增长到5,之后timeout运行并调用了当前i的值(也就是5)。

解决方法

有几个不同的方式可以拷贝i。最普通且常用方法是通过声明函数来建立一个闭包,并将i传给此函数。我们这里使用了自调用函数。

运行代码

<script>
for(var i = 0; i < 5; i++){
(function(num){
setTimeout(function(){
document.writeln(num);document.writeln("<br />");
},1000);
})(i);
}
</script>

输出

0
1
2
3
4

Tags:
最新图文资讯
1 2 3 4 5 6
体彩排列5双期走势图相关的文章列表:
易采站长站 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助 -
江苏体彩七位数大小遗漏 体彩超级大乐透除六走势图 体彩超级大乐透周一走势图 体彩排列5复式拆分 华东15选5走势图 齐鲁风采23选5走势图 七乐彩复式投注及中奖金额计算表 体彩七星彩基本走势图 体彩排列3历史开奖号码 浙江体彩6 1历史开奖号码 齐鲁风采23选5跳码分布图 体彩排列5开奖结果 河南福彩22选5和尾数走势图 福彩双色球和值遗漏走势图 体彩排列5走势图 华东15选5尾数走势图 福彩七乐彩201走势图 体彩超级大乐透前后走势图 体彩超级大乐透后区走势图 广东体育彩票36选7走势图