交换两个变量的值 你有几种方法
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的值为1 b = a ^ b // 0001 ^ 0100 ===> 0101,此时b的值为5 a = a ^ b // 0001 ^ 0101 ===> 0100,此时a的值为4 console.log(a) // 4 console.log(b) // 5