2017-04-18 337 views
-4

我找不到问题所在......看起来像所有的数组对象都是未定义的,并且循环未运行!JavaScript“for”循环不起作用

var blocks = []; //a new array 
for (var k=0; k>39; k++){ 
    blocks[blocks.length] = k; 
} 

而且当我从循环中删除“无功”(“变种k = 0”),它仍然无法正常工作

编辑:谢谢你告诉我我的愚蠢的错误! “<”的方向是错误的!的xD

+3

这是因为k从0开始,不大于39,所以如果k = 0,你需要k <39. – DibsyJr

+2

条件k> 39的条件如何? –

+0

哈哈,我怎么错过了?谢谢^ -^ – Bip901

回答

1

第二部分for循环(其中“k> 39”)必须为true才能继续循环并运行循环体。在你的例子中,k从一开始就总是假,而且循环甚至不能传递到循环条件的第三部分。

0

根据你的要求,你可以这样做: -

var blocks = []; //a new array 
for (var k=0; k<39; k++){ 
    blocks[blocks.length] = k; 
} 

,或者你可以这样做: - 在这里

var blocks = []; //a new array 
for (var k=0; k>39; k--){ 
    blocks[blocks.length] = k; 
} 

问题是条件

+0

请不要回答印刷错误。 – Rajesh