2017-04-19 85 views
-1

我无法理解为什么在for循环的条件部分中使用double equals(或者甚至是triple equals)不起作用。例如:JavaScript For Loop Double Equal

for (i = 1; i == 5; i++){ 
    console.log(i) 
} 

如果我使用<=而不是它的工作原理,我不明白。

+3

它“工作”,但它似乎并没有做你想做的。只要条件为“真”,循环就会执行。如果'i'是'5','i == 5'只是'true'。由于'i'初始值为'1',因此条件为'false',循环立即终止。 –

+1

您应该阅读它为“只要'我符合条件,进入循环”。 'i'以'1'开始,因此它不会满足条件'i == 5'并且不会进入。然而,它确实满足'i <= 5'的条件,因为1小于5. – Chris

+1

哦,耶稣。谢啦。脑屁。 – user1842315

回答

1

for循环在满足给定条件i <= 5的情况下工作(如果它返回false,则for循环中止)。

i == 5情况下,条件返回开头falsei equalls到1),所以loop甚至没有启动。

+0

它的工作** **条件满足,而不是**,直到**。 – Barmar

+0

@Barmar总是乐于助人,谢谢Barmar。 –

0

正如评论中所述。该条件只有在true时才执行,并且由于i = 1,条件i == 5为false。谢谢。