>>> var foo = [1,2]
>>> var bar = [3,4]
>>> foo^bar
0
>>> foo^3
3
>>> 1^3
2
オペレータの目的は何ですか:^?
編集1:なぜ
>>> foo^bar
0
あなたは説明できますか? 1^3
の場合
>>> var foo = [1,2]
>>> var bar = [3,4]
>>> foo^bar
0
>>> foo^3
3
>>> 1^3
2
オペレータの目的は何ですか:^?
編集1:なぜ
>>> foo^bar
0
あなたは説明できますか? 1^3
の場合
、XOR演算子は、あなたが数学-Yのことをやって起動したときにJavaScriptがNaN
として配列構文[x,y]
を見2.
1 = 00000001^
3 = 00000011
========
00000010 = 2
取得するには、いくつかのバイナリものを行いますそれ。あなたはそれにビット演算を行う際NaN
は0
として解釈されるため、foo
とbar
数学は感覚のアカウントにそれを取って作るために開始します。
foo => NaN = 00000000^
bar => NaN = 00000000
========
00000000 = 0
foo => NaN = 00000000^
3 = 00000011
========
00000011 = 3
当てはまるようです。 [1,2]^7 = 7
、[1,2,3]^9 = 9
など
fooとbarの排他的論理和はどうですか? – hungryMind
11.10節で定義されているToInt32演算でNaNが '0'に変換されるため、' NaN'は 'NaN'、' NaN^3'は '3'です。@hungryMind:' + [1,2] ECMAScript仕様の一部です。 – pimvdb
それは彼が私が思っていた答えです。誰でも簡単にXORの詳細を見つけることができますが、配列と番号の間の演算子が関心事でした。ご回答ありがとうございます – hungryMind
そのは、ビット演算子の一つと呼ばれ、それは32ビット(0と1)のシーケンスとしてではなく、10進数、16進数、またはオクタルnumbers.Bitwise XOR(A^Bとしてのオペランドを扱います)どちらかのオペランドではなく対応するビットが1であるビット位置の1を返します。
EDIT:
a b a XOR b
0 0 0
0 1 1
1 0 1
1 1 0
また
9 (base 10) = 00000000000000000000000000001001 (base 2)
14 (base 10) = 00000000000000000000000000001110 (base 2)
--------------------------------
14^9 (base 10) = 00000000000000000000000000000111 (base 2) = 7 (base 10)
これはXOR演算子である – AmGates
https://developer.mozilla.org/en/JavaScript/Reference/Operators/Bitwise_Operators#.5E_( Bitwise_XOR) –
ビット単位の排他的論理和演算子です。 – Nikoloff