Javascript嵌套循环的额外输出

时间:2015-10-16 21:12:57

标签: javascript

在JS中练习循环时,我编写了以下代码。

var bool = true;
while(bool) {
  for (var i = 3; i >= 0; i--)
  {
    console.log(i);  
    bool = i;
  }
}
我预期的输出是: 3 2 1 0 (每行1位数)

我遇到的输出是: 3 2 1 0 0 (每行1位数)

我的问题是 - 代码或环境组件如何产生额外的“0”?

感谢您的时间和帮助。

观察到的结果是在Chrome(F12 - >控制台标签)中生成的 screen shoot from chrome

此外,关于代码学院的实践设置。 不知何故,我无法生成/或观察“运行代码片段”中的任何结果。

更新:

切换

的console.log(ⅰ);

bool = i;

我得到了3 2 1 0。

这将确认Pointy的答案 - 没有表达,只有函数调用 - 再次感谢!

1 个答案:

答案 0 :(得分:3)

最后一个0只是控制台机制,告诉您最后一个表达式语句的值。如果你改变它:

var bool = true;
while(bool) {
  for (var i = 3; i >= 0; i--)
  {
    console.log(i);  
    bool = i;
  }
}
"hello world";

您将看到hello world而不是最后一次0