出处

二进制位运算符 - JavaScript 教程 - 网道 —— 异或运算符

代码

“异或运算”有一个特殊运用,连续对两个数ab进行三次异或运算,a^=b; b^=a; a^=b;,可以互换它们的值。这意味着,使用“异或运算”可以在不引入临时变量的前提下,互换两个变量的值。

  1. var a = 10;
  2. var b = 99;
  3. a ^= b, b ^= a, a ^= b;
  4. a // 99
  5. b // 10

这是互换两个变量的值的最快方法。