Javascript 为什么无穷==无穷==1/0为假?
问题很简单:Javascript 为什么无穷==无穷==1/0为假?,javascript,infinity,Javascript,Infinity,问题很简单: Infinity == Infinity >> true Infinity == 1/0 >> true Infinity == Infinity == 1/0 >> false 为什么最后一次求值是false?因为无穷==无穷==1/0基本上是 (Infinity == Infinity) == 1/0 所以 是false它的外观如下所示 var d = (2 == 2); console.log(d) //true console.l
Infinity == Infinity
>> true
Infinity == 1/0
>> true
Infinity == Infinity == 1/0
>> false
为什么最后一次求值是
false
?因为无穷==无穷==1/0
基本上是
(Infinity == Infinity) == 1/0
所以
是
false
它的外观如下所示
var d = (2 == 2);
console.log(d) //true
console.log(d == 2); //[true == 2] false
比较=始终返回布尔值true或false
[1或0
]
Infinity==Infinity==1/0
→ <代码>(无限==无限)=1/0→ true==1/0
()Infinity==1/0
计算结果为true
,因此Infinity==true
计算结果为false。如果您先计算Infinity==Infinity
,结果为true
,然后true==1/0
为false
,则情况相同。这与任何其他类型完全相同:“a”==“a”==“a”
结果为false
但对于1==1==1
@AfshinMehrabani则不是真的,因为1==1
为真且true==1
但是true!==1
。这是严格和失去比较之间的区别。
var d = (2 == 2);
console.log(d) //true
console.log(d == 2); //[true == 2] false