JavaScript交换两个变量的方法
let a = 123;
let b = 456;
普通方法
使用一个临时变量
let temp;
temp = a;
a = b;
b = temp;
算术运算方法
在算术运算过程中,将两个值进行互换,但是缺点是可能会造成数据溢出
a = a + b;
b = a - b;
a = a - b
异或运算
使用位运算来交换变量值
a ^= b;
b ^= a;
a ^= b;
a = (b ^= a ^= b) ^ a;
变成对象
将一个值变成一个对象,该对象保存着交换后的键值对,然后分别赋值
a = {a:b , b:a};
b = a.b;
a = a.a;
变成数组
将一个值变成一个数组来存变量值,然分别赋值
a = [a,b];
b = a[0];
a = a[1];
取巧方法
根据运算优先级,先执行b=a,此时b已经得到了a的值,然后根据数组索引让a得到b的值
a = [b, b = a][0];
ES6的解构赋值
根据ES6的语法特性,直接使用数组进行赋值
[a , b] = [b , a];