5

为什么1 && true得到一个布尔值true,却0 && true得到一个数字0?我在 Chrome 控制台和 Firebug 中对其进行了测试。

4

3 回答 3

6

因为如果为 false 则expr1 && expr2返回expr1,否则返回expr2

于 2012-11-02T20:22:59.707 回答
4

因为这就是 Javascript 中逻辑运算符的行为方式。

附加参考:ECMA 262,第 83 页。

于 2012-11-02T20:22:51.123 回答
2

&& 运算符通常称为逻辑与。如果第一个操作数为 false、null、undefined、"" 或数字 0,则返回第一个操作数。否则,它返回第二个操作数

于 2012-11-02T20:24:10.667 回答