我有幾個關於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