2014-03-02 91 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' –

相关问题