标签: javascript
为什么1 && true获得bool值true,但0 && true得到一个数字0? 我在Chrome控制台和Firebug中测试了它。
1 && true
true
0 && true
0
答案 0 :(得分:6)
如果expr1 && expr2为假,expr1会返回expr2,否则会返回{{1}}。
expr1 && expr2
expr1
expr2
答案 1 :(得分:4)
因为这就是Javascript中的逻辑运算符defined的行为方式。
其他参考:ECMA 262,第83页。
答案 2 :(得分:2)
&&运算符通常称为逻辑运算符。如果第一个操作数为false,null,undefined,“”或数字0,则返回第一个操作数。否则,它返回第二个操作数