交換兩個變數的值 你有幾種方法
阿新 • • 發佈:2021-11-29
1.藉助第三變數
/ 宣告變數a和b let a = 5 let b = 4 // 1. 臨時將變數a的值賦值給變數tmp let tmp = a // 2. 將變數b的值賦值給a a = b // 3. 將變數a的值(tmp的值)賦值給b b = tmp console.log(a) // 4 console.log(b) // 5
2.不借助第三變數 --es6變數的解構賦值
let a = 5; let b = 4; // 請注意此位置的分號;是一定要存在的呀 // 陣列結構賦值,交換變數a,b的值 [a, b] = [b, a] console.log(a) // 4 console.log(b) // 5
3.不借助第三變數 --數學運算
let a = 5 let b = 4 // 二者之和 a = a + b //a值為 5+4=9 // 二者之和 - b的值,剩餘a的值賦值給變數b b = a - b //b值為 9-4=5 // 此刻a還是二者之和,a - b此刻相當於二者之和 - 變數b(a的值),那麼此刻剩餘的就是變數b的值,賦值給a變數 a = a - b //a值為 9-5=4 console.log(a) // 4 console.log(b) // 5
4.不借助第三變數 - - 藉助位運算子
let a = 5 // 0101 let b = 4 // 0100 // 按位移或運算 a = a ^ b // 0101 ^ 0100 ===> 0001,此時a的值為1b = a ^ b // 0001 ^ 0100 ===> 0101,此時b的值為5 a = a ^ b // 0001 ^ 0101 ===> 0100,此時a的值為4 console.log(a) // 4 console.log(b) // 5