2016-10-21 80 views
2
for (var a=0; a<5; a++) 
{ 
    setTimeout(function(){ 
     alert(a); 
    }, 0); 
} 

上面的代碼在javascript中提示我輸出5,5次infact我的期望是輸出像0,1,2,3,4而是它顯示了5,5,5,5,5的輸出。爲什麼這樣?下面的代碼在javascript中輸出的原因是什麼

除此之外,請在javascript中解釋我的上下文和範圍的概念,我總是無法通過從網上閱讀的許多示例來理解它。

+0

爲什麼你使用setTimeout函數? –

+0

我只是刷我的js概念,但事實上我登陸這樣做,現在麻煩理解它:) – HarshSharma

+0

我知道這個問題已被問過很多次。您是否搜索過答案? –

回答

1

裏面setTimeout(),您alert()所以它很可能alert()得到執行之前for循環已經結束異步調用。

相關問題