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];