在JavaScript中,想交换两个变量的值,有很多方法。今天就来叫大家几种最常见的
1.临时变量
在JavaScript中,交换两个变量的值可以通过创建一个临时变量来中转来实现。将其中一个变量的值赋给临时变量,然后将另一个变量的值赋给第一个变量,最后将临时变量的值赋给第二个变量。这样,两个变量的值就交换了。
var a = 1;
var b = 2;
var temp = a;
a = b;
b = temp;
console.log(a); // 输出 2
console.log(b); // 输出 1
2.位运算
在JavaScript中,位运算可以用于交换两个变量的值。通过将两个变量的值进行异或运算,可以交换它们的值。
var a = 1;
var b = 2;
a = a ^ b;
b = a ^ b;
a = a ^ b;
console.log(a); // 输出 2
console.log(b); // 输出 1
3.ES6解构赋值
在ES6中,可以使用解构赋值来交换两个变量的值,这样可读性最强。
let a = 1;
let b = 2;
[a, b] = [b, a];
console.log(a); // 输出 2
console.log(b); // 输出 1
4.Array.prototype.reverse()
在JavaScript中,还可以使用Array.prototype.reverse()
方法来交换两个变量的值。将两个变量放入一个数组中,然后调用reverse()
方法,即可交换它们的值。
var a = 1;
var b = 2;
var arr = [a, b].reverse();
a = arr[0];
b = arr[1];
console.log(a); // 输出 2
console.log(b); // 输出 1
5.Array.prototype.push.apply()
在JavaScript中,还可以使用Array.prototype.push.apply()
方法来交换两个变量的值。将两个变量放入一个数组中,然后使用push()
方法将另一个变量的值添加到数组中,再使用pop()
方法将第一个变量的值从数组中取出,即可交换它们的值。
var a = 1;
var b = 2;
var arr = [];
arr.push(a, b);
a = arr.pop();
b = arr.pop();
console.log(a); // 输出 2
console.log(b); // 输出 1
6.Object.assign()
在ES6中,可以使用Object.assign()
方法来交换两个变量的值。将两个变量放入一个空对象中,然后使用Object.assign()
方法将另一个变量的值赋给第一个变量,将第一个变量的值赋给第二个变量,即可交换它们的值。
var a = 1;
var b = 2;
Object.assign({}, a, b);
a = Object.assign({}, b);
b = Object.assign({}, a);
console.log(a); // 输出 2
console.log(b); // 输出 1