运算符: ^
牢记: 相同为0,不同为1
说明: 异或运算是二进制计算, 所以参加运算的值会先转化为二进制数
实践 + 验证 + 分析
// 首先我们定义下面的几个数值 与 其对应的二进制数
十进制数 对应的二进制数
1 1
2 10
3 11
4 100
5 101
6 110
console.log( 2^3 ); // 输出 1
/* 计算逻辑 ( 同位数上下比对, 值相同为 0,不同为 1 )
2 => 10
3 => 11
-----------------------
1 <= 01
*/
console.log( 2^3^4 ); // 输出 5
/* 计算逻辑 ( 此处接上面的计算结果 )
1 001 // 计算时, 二进制右对齐, 左侧位数不足的 默认补 0
4 100
------------------
5 101
*/
console.log( 2^3^4^3 ); // 输出 6
/* 计算逻辑 ( 此处接上面的计算结果 )
5 101
3 011
----------------
6 110
*/