首页 > 编程语言 > 详细

javascrip异步问题

时间:2015-03-25 16:56:29      阅读:258      评论:0      收藏:0      [点我收藏+]
for
(
var
i = 1; i <= 3; i++) {
setTimeout(
function
(){ console.log(i); }, 0);
};
 
 
一般人会以为输出结果会是
以上循环会输出1,2,3,或者重复输出这3个数字。
其实结果是
 
技术分享
输出三个4.为什么?
原因是执行setTimeout()函数是会有一个延时队列,然后javascrip再执行下一行代码,直到没有任何代码时javacsrip返回队列执行。“嘿。现在队列中都有谁?”
很明显,当javacsrip回到队列时,变量i的值已经是4了,就输出4了。javacsrip事件处理器在线程空闲前不会运行。
 

javascrip异步问题

原文:http://www.cnblogs.com/nova-/p/4366048.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!