var A == var B == 1寻找真理。不工作。可能吗?

时间:2013-02-18 06:49:37

标签: javascript

不确定这是否可行,但我正在寻找真相回报,例如.. var A = 100; var B = 100;

(A == B == 100) 

我认为这会回归真实。因为A == B(它们都是100)并且因此它们都等于100。

但它总是错误的。

编辑:::谢谢,是的 - 我很感激回复...我希望有一些漂亮的感觉而不是做(A === 100)&& (B === 100)等......但是非常感谢。

5 个答案:

答案 0 :(得分:13)

评估为

(A == B) == 100

A == (B == 100)

在这两种情况下,你都将布尔值与100进行比较。这当然总是假的。你想要

(A==100) && (B==100)

要查看发生了什么,您可能需要运行the Example below as JSFiddle:

var A = 100;
var B = 100;

alert("B == 100: " + (B == 100));
alert("A == (B == 100):" + (A == (B == 100)));
alert("A == B:" + (A == B));
alert("(A == B) == 100:" + ((A == B) == 100));
alert("A == B == 100):" + (A == B == 100));
alert("(A == 100) && (B == 100):" + ((A == 100) && (B == 100)));

答案 1 :(得分:2)

A== 100 && B == 100

您在寻找什么。

答案 2 :(得分:2)

它转换为true===100,显然是false。您可以使用a===b && b===100

答案 3 :(得分:1)

因为在(B == 100)之后的第二个表达式A的值与boolean进行比较所以它始终为false

即:

A == (B == 100)

哪个成为

A == true

评估为false

所以正确的版本应该是:

(A == 100) && (B == 100)

Live demo

答案 4 :(得分:0)

我认为它可以解释为

(A == B) && ((A == B) == 100) 
显然,这不是真的