在while循环中使用 - 运算符会产生意外结果

Ada*_*ant 4 javascript loops while-loop

在这个公式中,

var x = 5; while(x--) { console.log(x) }
Run Code Online (Sandbox Code Playgroud)

输出是

4
3
2
1
0
Run Code Online (Sandbox Code Playgroud)

为什么0要输出?在第五次迭代中,x--将等于0false,因此循环不应该运行.

出于同样的原因,这会返回 true

var x = 1;
(x--) == true;
Run Code Online (Sandbox Code Playgroud)

但这会返回false

0 == true
Run Code Online (Sandbox Code Playgroud)

Seb*_*eit 6

x--首先计算然后递减变量.如果你使用--x,你会得到你期望的.