利用javaScript語言舉個例子:java
var a = '111',b = '222' a = a ^ b b = a ^ b a = a ^ b console.log(a) // '222' console.log(b) // '111'
'^'符號是js中的異或運算,大部分語言都有,不過表示的符號不必定同樣,直接替換例子中便可;優化
因爲異或運算屬於更底層一些的操做,因此比起咱們平時聲明多一個變量來交換兩值的方法快很多;spa
如下是聲明變量交換兩值的方法:code
var a = '111',b = '222',c c = a a = b b = c console.log(a) // '222' console.log(b) // '111'
附:位運算中,除了異或運算有優化代碼的效果以外,還有其餘的一些,好比:shl運算。blog
a shl 1 等同於 a * 2,也由於是底層的運算,因此前者會比後者快,全部跟2的n次方相乘的運算均可以使用shl來代替ip