Javascript (正确和错误)>;2+;是的;为什么返回错误?

Javascript (正确和错误)>;2+;是的;为什么返回错误?,javascript,boolean,Javascript,Boolean,我正在学习javascript,不明白这行返回false的原因: (true + false) > 2 + true true等于1假等于0 所以你的表达式相当于: (1 + 0) > 2 + 1 减少到 1 > 3 这是假的 这是因为代码的计算结果为: 1 + 0 > 2 + 1 这相当于: 1 > 3 这是因为当您对某些类型(例如布尔型)使用算术运算符时,Javascript引擎会对Javascript进行计算和解释,在本例中,这些类型会隐式转换为数字

我正在学习javascript,不明白这行返回false的原因:

(true + false) > 2 + true

true
等于1<代码>假等于0

所以你的表达式相当于:

(1 + 0) > 2 + 1
减少到

1 > 3

这是假的

这是因为代码的计算结果为:

1 + 0 > 2 + 1
这相当于:

1 > 3

这是因为当您对某些类型(例如布尔型)使用算术运算符时,Javascript引擎会对
Javascript
进行计算和解释,在本例中,这些类型会隐式转换为数字。

原因称为类型强制;在算术运算中使用两个布尔值,除非解释器先将它们转换为数字,否则这是不可行的

真-->1 错误-->0


你自己试试看;输入+true,您将得到1

这个代码有什么实际用途吗?@RobertHarvey今天我想把jQuery的hasClass()链接起来,我用了这个:
$($0).hasClass(“按钮”)+$($0).hasClass(“红色”)==2
,纯粹是为了好玩,呵呵。