我试图在 JS 上找出这个运算符 -
'string' ^= 'string';
但是我找不到蚂蚁信息。这是比较还是分配?
谢谢。
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
^
(caret) 是按位 XOR(异或)运算符。就像与更常见的运算符组合一样+=
,a ^= b
相当于a = a^b
.
有关更多详细信息,请参阅Mozilla 的 Javascript 文档。
x ^= y
是按位 XOR和简写x = x^y
- 因此在技术上是回答您问题的“作业”。准确地说,单个运算符“^”表示按位异或。
正如 d'alar'cop(以及其他几个人)已经指出的那样,这意味着所谓XOR
的 . 我总是讨厌阅读维基百科的解释,所以我要在这里放另一个解释:
“异或”的意思是“异或”。那是什么?先举个例子:
11000110 -- random byte
10010100
--------- ^ -- XOR
01010010
XOR 是一些按位运算,如果两个位中的一个为 1,另一个为 0,则返回两个。如果它们都是 1,则它是“和”,而不是“异或”(“正常或”将允许两个 1)。