如果条件执行不同

时间:2016-12-30 12:30:42

标签: javascript html

我有不同的函数返回true或false但我不明白false==false==true是一个真实的条件?我认为它应该提醒b,而是提醒a



function myFunctions() {
  if (false == false == true) {
    alert("a")
  } else {
    alert("b")
  }
}

<button onclick="myFunctions()">Try it</button>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:4)

您一次只能比较两个布尔值。您的示例将从左到右开始评估,因此基本上是:

(false == false) == true   // which is true

这里是Javascript中operator precendence的参考,它决定了特定运营商的评估顺序。

答案 1 :(得分:4)

试试这个false==falsetruetrue替换(false==false)中的true==truefunction myFunctions() { alert(false); //returns false alert(false == false); //returns (false==false) i.e true alert(false == false == false); // (false==false) = true and substitue true in (false==false) then (true==false) which returns false alert(false == false == true); // true==true if (false == false == true) { alert("a") } else { alert("b") } }也只是

&#13;
&#13;
<button onclick="myFunctions()">Try it</button>
&#13;
a/Makefile
&#13;
&#13;
&#13;