<分区>
Possible Duplicate:
What does the ^ operator do?
>>> var foo = [1,2]
>>> var bar = [3,4]
>>> foo ^ bar
0
>>> foo ^ 3
3
>>> 1^3
2
运算符的目的是什么:^?
编辑 1:你能解释一下原因吗
>>> foo ^ bar
0
?
标签 javascript syntax
<分区>
Possible Duplicate:
What does the ^ operator do?
>>> var foo = [1,2]
>>> var bar = [3,4]
>>> foo ^ bar
0
>>> foo ^ 3
3
>>> 1^3
2
运算符的目的是什么:^?
编辑 1:你能解释一下原因吗
>>> foo ^ bar
0
?
最佳答案
在 1^3
的情况下,XOR 运算符会执行一些二进制操作以获得 2。
1 = 00000001 ^
3 = 00000011
========
00000010 = 2
当您开始使用它进行数学运算时,JavaScript 会将数组语法 [x,y]
视为 NaN
。 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
等
关于javascript - 运算符(operator) "^"的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7835883/