2009-03-26 14 views

答えて

3

はい

js> false && true == false 
false 
js> (false && true) == false 
true 

==&&より高い優先順位を有するので、最初はfalse && falseに相当する、false && (true == false)として解析され、したがってfalseに評価されます。 2番目はfalse == falseと等価です。これはtrue

+0

恐ろしい、ありがとう:)あなたはjsコンソールをお勧めできますか? –

+0

私はspidermonkeyを使用しています。http://www.mozilla.org/js/spidermonkey/私はそれをあまり使用しないで、このようなときどきの表現をテストするだけです。 –

+0

firebug https://addons.mozilla.org/en-US/firefox/addon/1843にはJSコンソールがあります – rmmh

2

文は、(a && (b == c))に相当するように解析されます。等価演算子は、常に&&,||およびその他の論理演算子の前に実行されます。あなたは細かい細部hereを見つけることができます。

+0

ですが、私はそれを理解していますが、具体的な例に違いがあるかどうかを判断しようとしていました。 –

2

はい。 ==はより緊密に&&よりも結合し、あなたが

var val = a && (b == c) 

としてバインドを持っているものhereを参照してください。したがってa==0,b==1およびc==0は偽であり、(a&&b)==cは真です。

(固定タイプミス。くそ。)

+0

= 1、B = 0、C = 0 && Bの==のC (0 == 0)=> 1 &&真=>真 –

+0

くそ1 &&を与えるだろう。ありがとう。 –

関連する問題