JS中^ =运算符的含义是什么?

时间:2013-04-07 13:11:08

标签: javascript operators

我试图在JS上找出这个运算符 -

'string' ^= 'string';

但是我找不到蚂蚁信息。 这是比较还是分配?

感谢。

4 个答案:

答案 0 :(得分:7)

myVar ^= 5myVar = myVar ^ 5相同。 ^是按位xor运算符

我们说myVar设置为2

  • 5 in binary是:101
  • 2 in binary是:010

独家"或"检查两个数字的第一位并看到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 ^= ybitwise 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')