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

Javascript 为什么do,while循环将最后一个数字显示两次?,javascript,do-while,Javascript,Do While,我有以下代码: var a=0; 做{ 控制台日志(a); a++; }a

我有以下代码:

var a=0;
做{
控制台日志(a);
a++;

}a<10它工作得很好,结果也很完美。您看到的最后一个数字是因为“控制台还显示您在那里运行的代码中执行的最后一个表达式的值。” 这是表达式返回的结果。如果循环中存在break语句,则返回将是未定义的。您将只看到console值

或者,如果将整个exp放入一个函数中,则不会看到此返回。因为函数不会返回任何类似-

如果你想正确检查,试着用这个

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

do {
  console.log(a);
  a++;
} while (a < 10);}
fun()
var-fun=function(){var a=0;
做{
控制台日志(a);
a++;
}而(a<10);}
乐趣

在不使用console.log的情况下运行它,您将看到。最后一个“9”是脚本的“结果”。这段代码不是这样做的。运行代码段并查看…这不会将最后一个值两次输出到控制台,额外的9是Fif提到的代码的结果。您的代码不会重现您描述的问题。更新了答案更好+1。谢谢您,非常好的解释!