2014-03-02 88 views
-3

爲什麼我只得到一個警報後運行該代碼:JS:爲什麼FOR LOOP循環一次?

var poly = function() 
{ 
    this.disp = function() 
    { 
     for(var i=0; i<6; i++);  //And I already found my problem. It is this ';' 
     { 
      alert('The number is '+i);  //I get one alert: 'The number is 6' 
     } 
    } 
} 

test = new poly(); 
test.disp(); 

感謝您的幫助!

+6

適用於我 - > http://jsfiddle.net/FvVb2/ – adeneo

+1

在您的代碼中您使用此代碼的位置?我只是複製並粘貼到控制檯,我得到了6個不同的警報。 Ii真的很重要,你如何在你的實際代碼中使用它。 –

+0

我很困惑。是在小提琴作品。在poly對象中有更多的功能和方法,不僅僅是'this.disp'。但我不認爲其他方法中的另一個循環可能會在disp函數中造成問題。因爲當我在循環之前檢查'我'時,我得到'我是未定義'的錯誤。所以在循環開始時'i'是0。 –

回答

1

此代碼有效。也許,在你真正代碼,它看起來像這樣:

var poly = function() 
{ 
    this.disp = function() 
    { 
     for(var i=0; i<6; i++) 
     { 
     } 
     alert('The number is '+i);  //I get one alert: 'The number is 6' 
    } 
} 

這將導致我對循環0-6,此後,它提醒一次。

+0

非常感謝!這是我的眼睛問題:D我的代碼是: for(var i = 0; i <6; i ++); { //東西 } –

+0

:)對於下一次,請確保您發佈的代碼段包含實際的錯誤,否則我們會在大海撈針中尋找一根不存在的針。 ;) – GolezTrol

+0

@EdvinasPranka嘗試這個演示(現在它使用console.log)http://jsbin.com/bebem/1/edit?js,console但如果你改變alert()它會告訴你只是'數字是0' –

相關問題