node.js for loop:奇怪的行为

FiN*_*NaR 0 javascript loops for-loop node.js

我正在尝试使用node.js,我遇到了一个简单的for循环问题...

for (var i = 0; i < 5; i++); {(
    console.log(i))
   }
Run Code Online (Sandbox Code Playgroud)

我为什么得到

5
Run Code Online (Sandbox Code Playgroud)

在控制台?我本以期待

0,1,2,3,4...
Run Code Online (Sandbox Code Playgroud)

Kur*_*urt 5

因为;在结束时.你拥有它的循环因为分号而被视为没有语句的for循环.这是使用for循环的完全有效的方法(请参阅此MDN),这就是您不会看到任何错误的原因.基本上,在你的代码,循环运行(不做事比增加的价值等i)和循环运行后,你告诉它输出i的值(即5,因为环路已完成).

要实现您可能想要的,循环应如下所示:

for (var i = 0; i < 5; i++) {
    console.log(i)
}
Run Code Online (Sandbox Code Playgroud)