【发布时间】:2016-03-10 03:25:18
【问题描述】:
我正在执行以下看似简单的代码
var number = 0;
while (number <= 12) {
console.log(number);
number = number + 2;
}
我在浏览器和 Node.js 中得到了不同的结果。 当我在 Firefox(v. 32.0.3) 上的 Firebug(v 2.0.4 ) 控制台中运行它时,我得到的结果是
0 2 4 6 8 10 12 14
这不是我预期的结果。
在 Node 中,相同的代码给了我正确的答案
0 2 4 6 8 10 12
关于浏览器中的行为我有什么遗漏吗???
提前致谢。
【问题讨论】:
-
无法重现,Firefox 32。
-
你看到的是
14 0 2 4 6 8 10 12吗? 14 似乎是循环的“结果”(我猜是因为循环体中的分配)。就像1 + 1打印2。这是在 FF 32.0.3 中。我不能告诉你为什么 FF 这样做。 -
除了@FelixKling 描述的内容之外,也无法复制。你确定你看到的是
14吗? -
在循环之后,控制台打印最后一个计算表达式的值,即
number = number + 2。 -
您可以通过将整个代码复制粘贴到 JS 控制台来重现,至少在 Chrome 中是这样。
标签: javascript node.js while-loop firebug