我试图在JS上找出这个运算符 -
'string' ^= 'string';
但是我找不到蚂蚁信息。 这是比较还是分配?
感谢。
答案 0 :(得分:7)
myVar ^= 5
与myVar = myVar ^ 5
相同。 ^
是按位xor
运算符
我们说myVar
设置为2
独家"或"检查两个数字的第一位并看到1,0并返回1然后看到0,1并返回1并看到1,0并返回1.
因此转换回十进制的111是7
所以5^2
是7
var myVar = 2;
myVar ^= 5;
alert(myVar); // 7
答案 1 :(得分:4)
^
(插入符号)是按位XOR (异或)运算符。与+=
等更常见的运算符组合一样,a ^= b
等同于a = a^b
。
有关详细信息,请参阅Javascript documentation from Mozilla。
答案 2 :(得分:2)
x ^= y
是bitwise XOR,是x = x^y
的简写 - 所以从技术上讲,这是一个回答你问题的“作业”。确切地说,单个运算符'^'表示按位异或。
答案 3 :(得分:1)
as d'alar'cop(以及其他几个人已经指出),这意味着一种叫做XOR
的东西。我总是讨厌阅读维基百科的解释,所以我将在这里再说一遍:
'XOR'表示'eXclusive OR'。那是什么?首先是一个例子:
11000110 -- random byte
10010100
--------- ^ -- XOR
01010010
XOR是一些按位运算,如果两位中的一位是1而另一位是0则返回两位。如果它们都是1,则它是'和',而不是'异或'('正常或'将允许两个1')