1

これが実行可能かどうかはわかりませんが、たとえば.. var A = 100; の場合に真のリターンを探しています。変数 B = 100;

(A == B == 100) 

これはtrueを返すと思いました。A == B (両方とも 100) であるため、両方とも 100 です。

しかし、それは常に偽です。

EDIT::: ありがとうございます。

4

5 に答える 5

13

次のように評価されます

(A == B) == 100

またはとして

A == (B == 100)

どちらの場合も、ブール値を 100 と比較します。もちろん、これは常に false です。あなたがしたい

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

何が起こっているかを確認するには、以下の例を 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)));
于 2013-02-18T06:51:50.203 に答える
2
A== 100 && B == 100

あなたが探しているものです。

于 2013-02-18T06:51:59.650 に答える
1

(B == 100)その値である 2 番目の式の後にA比較されるbooleanため、常にfalse

あれは:

A == (B == 100)

になる

A == true

評価したものfalse

したがって、正しいバージョンは次のようになります。

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

ライブデモ

于 2013-02-18T07:08:19.200 に答える
0

と解釈できると思います

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

明らかに、それは真実ではありません

于 2013-02-18T06:57:03.770 に答える