While 循环的行为不明确

Anj*_*hnu 0 javascript while-loop

作为 js 的新手,当我遇到以下代码的一些特殊行为时,我正在玩循环:

var i = 5;

while(i!=0){
  console.log(i);
  i--;
}
Run Code Online (Sandbox Code Playgroud)

OUTPUT: 543211
Run Code Online (Sandbox Code Playgroud)

我在 c++ 中复制了相同的代码:

OUTPUT: 543211
Run Code Online (Sandbox Code Playgroud)
OUTPUT: 54321
Run Code Online (Sandbox Code Playgroud)

知道我是否遗漏了两种语言之间的一些重要差异会有所帮助。

dav*_*ave 6

如果您在浏览器控制台中运行代码,无论最后一条语句的计算结果是什么,都会记录到控制台。不过,它实际上并没有得到console.log'd。

例如,如果您这样做:

var i = 5;

while(i!=0){
    console.log(i);
    i--; 
    '';
}
Run Code Online (Sandbox Code Playgroud)

在列表的末尾,您将看到 ''