(false==false==true)怎么可能是真的

How can (false == false == true) be true

本文关键字:false 怎么可能 真的 true      更新时间:2023-09-26

在编程时,if语句中出现了意外结果。

这个代码怎么会提醒真的?我在W3S没有找到任何可以帮助我的东西,我真的很想知道为什么这些警报是"真实的"

window.alert(false == false == true); //alerts true
window.alert(false == (false == true));//even this alerts true

第一种情况

false == false == true

将被评估为

(false == false) == true

因为默认情况下,表达式是从左到右计算的。降低到

true == true

因为CCD_ 1实际上等于CCD_。这就是为什么它被评估为true

第二种情况

false == (false == true)

减少为

false == false

因为CCD_ 4不等于CCD_。这就是为什么整个表达式是true,因为false等于false

执行将从左手边开始。

window.alert(false == false == true); 

首先CCD_ 9为真。则CCD_ 10为真。

在第二种情况下,因为您使用的是括号false1,它将首先执行。

false == true为假。

false == false为真。

false == true是真的吗?我认为这显然不是真的,因此(false == true)false,因此是false == (false == true)(正如我们已经注意到的,第二部分是假的)。

至于第一个例子——实际上,无论评估顺序如何,它都是正确的(我把这留给你做一个合乎逻辑的练习)。仍然javascript保证求值顺序从左到右,因此此表达式与(false == false) == true相同。我再次让你来证明这是真的。

false == false == true

false == false,这就是false0,等于true

false == (false == true)

false == true,这就是false,等于false

第一行-从左到右比较false == false,即true,然后与true比较,返回true

第二行-从左到右比较(false == true),即false,然后比较falsefalse返回true

两者都是正确的。

案例1:false == false == true
这类似于(false == false) == true

评估是CCD_ 36和CCD_ 37

案例2:false == (false == true)
这类似于(false == true) == false

评估是false0和false == false IS true

希望这能帮助