利用javaScript语言举个例子:
var a = '111',b = '222' a = a ^ b b = a ^ b a = a ^ b console.log(a) // '222' console.log(b) // '111'
'^'符号是js中的异或运算,大部分语言都有,不过表示的符号不一定一样,直接替换例子中即可;
由于异或运算属于更底层一些的操作,所以比起我们平时声明多一个变量来交换两值的方法快不少;
以下是声明变量交换两值的方法:
var a = '111',b = '222',c c = a a = b b = c console.log(a) // '222' console.log(b) // '111'
附:位运算中,除了异或运算有优化代码的效果之外,还有其他的一些,比如:shl运算。
a shl 1 等同于 a * 2,也因为是底层的运算,所以前者会比后者快,所有跟2的n次方相乘的运算都可以使用shl来代替