为什么for-loops的预增量与后增量相同?

Chr*_*ian 3 javascript for-loop pre-increment post-increment

可以说每个人都学习使用后增量编写for循环:

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

当我将后增量交换为预增量时,我期望以下内容:

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

我的推理:i初始化为0; 循环体将在i小于10时执行; i递增到1并输入循环体; i有价值1的印刷品以确认; 再次评估循环的条件; 等等

然而,输出(至少对于Chrome中的JavaScript)与后增量相同:0..9.这是为什么?机身运行后是否执行增量?

Tuv*_*via 8

for循环的最后一部分仅发生在每个循环的末尾.

因此++i , i++在这种情况下基本上做同样的事情.


经营顺序:

var i = 0;

while (i < 10) {
   // do stuff
   console.log(i);
   // increment i in your own way
   ++i; // or i++;
}
Run Code Online (Sandbox Code Playgroud)