为什么do,while循环显示两次最后一个数字?

时间:2016-12-20 11:25:28

标签: javascript do-while

我有以下代码:



 var a = 0;
    
    do {
      console.log(a);
      a++;
    } while (a < 10);
&#13;
&#13;
&#13;

我正在玩它以更好地了解正在发生的事情,我注意到这将写出最终的数字9两次。有人能解释一下吗?

非常感谢。

1 个答案:

答案 0 :(得分:1)

它的工作完美,结果也很完美。你看到的最后一个数字是因为&#34;控制台还显示你在那里运行的代码中执行的最后一个表达式的值。&#34; 这是表达式返回的东西。如果循环中有一个break语句,那么返回将是未定义的。并且您将只看到控制台值。

或者如果您将整个exp放在一个函数中,您将看不到此返回值。因为该函数不会返回任何类似的东西 -

如果您想正确检查,请尝试使用此

var fun=function(){var a = 0;

do {
  console.log(a);
  a++;
} while (a < 10);}
fun()