1、解构赋值交换变量
let a = 0,b = 1
[b,a] = [a,b]

2、异或交换变量
let a = 0,b = 1
a = a ^ b
b = a ^ b ^ b = a
a = a ^ b ^ a = b ^ a ^ a = b
简写:
let a = 0,b = 1
a ^= b
b ^= a
a ^= b

3、中间变量交换
let a = 0,b = 1,temp
temp = a
a = b
b = temp

4、加减法变量交换
let a = 0, b = 1
a = a + b
b = a - b = a + b - b = a
a = a - b = a + b - a = b
简写:
let a = 0,b = 1
a += b
b -= a
a -= b

5、利用数组的特性(涉及堆和栈的一些东西)
let a = 0, b = 1
a = [b,b=a][0]

6、利用数组的特性
let a = 0,b = 1
a = [a,b]
b = a[0]
a = a[1]

7、利用对象的特性
let a = 0,b = 1
a = {a:b,b:a}
b = a.b
a = a.a
