我正在研究javascript并且无法弄清楚为什么这行返回false:
(true + false) > 2 + true
答案 0 :(得分:7)
true
等于1. false
等于0.
所以你的表达式相当于:
(1 + 0) > 2 + 1
减少到
1 > 3
这是假的!
答案 1 :(得分:2)
那是因为您的代码评估为:
1 + 0 > 2 + 1
相当于:
1 > 3
这是由于当您在某些类型(例如布尔值)上使用算术运算符时,Javascript引擎会对Javascript
进行求值和解释,在这种情况下,这些类型会被隐式转换为数字。< / p>
答案 2 :(得分:0)
原因叫做类型强制;您在算术运算中使用了两个布尔值,除非解释器首先将它们转换为数字,否则这是不可行的。
true - &gt; 1 false - &gt; 0
亲自尝试;输入+ true,你会得到1;