我有几个关于JavaScript的for循环的问题。JavaScript的for循环意外行为
第一个问题:
for (i=0; i<=2; i++) {;}
console.log(i);
输出为3。它不应该是2?
第二个问题:
for (var i=0; i<=2; i++) {
setTimeout(function(){console.log(i);}, i*1000);
}
超时是否正确设置:0,1000和2000,但输出是3,3,3(应为0,1,2)。这是否意味着环路退出后执行延迟功能?为什么?
我应该看明白这一切的神秘JavaScript的东西吗?
谢谢。
+1我也在找) – naiad 2010-07-03 06:51:54