Skip to content

如何不借助第三个变量完成两变量交换 ​

```js  
    var a = 6 
    var b = 5 
```     
  1. 利用加减法混合处理(针对数字)

    js
      a = a + b  
      b = a - b  
      a = a - b
  2. 利用异或混合处理(针对数字)

    js
      //二进制6 :0110   5 : 0101   
      //两者异或操作(相同取0,不同取1)==> 0011(两数差异)  
      //0011 ^ 0101 = 0110  
      a = a ^ b  //可以理解成两数差异
      b = a ^ b
      a = a ^ b
  3. es6的解构

    js
      [ b , a ] = [ a , b ]