【发布时间】:2015-07-22 13:42:55
【问题描述】:
在这个公式中,
var x = 5; while(x--) { console.log(x) }
输出是
4
3
2
1
0
为什么会输出0?在第五次迭代中,x-- 将等于 0,这是错误的,因此循环不应运行。
同样,这会返回true
var x = 1;
(x--) == true;
但这返回错误
0 == true
【问题讨论】:
-
因为
--发生在x被评估之后。对比--x。 -
公平地说,大多数具有相似运算符的语言都可以工作......好吧,相似。
-
这与 Javascript 无关,这就是后增量在每种语言中的工作方式?
-
前缀和后缀的行为在这里并不是 JavaScript 的奇怪之处
-
嘿。您不能将此归咎于 JavaScript。后减运算符在 C、C++、Java 和 C# 以及该家族中我现在没有想到的其他语言中的行为方式相同。
标签: javascript loops while-loop