在具有Node的终端处,++和+ = 1之间的差异

-1 javascript node.js read-eval-print-loop

counter  = 1;
time = 60;

while (counter < time) {
    console.log(counter);
    counter += 1;
}
Run Code Online (Sandbox Code Playgroud)

为什么代码的值高于1到60

以下代码的输出为1到59:

counter  = 1;
time = 60;

while (counter < time) {
    console.log(counter);
    counter++;
}
Run Code Online (Sandbox Code Playgroud)

我在终端上用Node测试了两个代码.

Bry*_*hen 9

这是因为nodeREPL默认打印出最后一个命令的结果.

在第一种情况下,最后一个命令是counter++,将计数器增加到60并返回59

在第二种情况下,最后一个命令是count += 1,将计数器增加到60并返回60

如果您在Chrome开发者控制台中运行它会更清楚

在此输入图像描述

nodeREPL的情况下,您仍然可以看到最后一个数字具有不同颜色的差异,表明它是上次评估的值而不是输出的值console.log

在此输入图像描述