示例1:使用临时变量
//JavaScript program to swap two variables
//take input from the users
let a = prompt('Enter the first variable: ');
let b = prompt('Enter the second variable: ');
//create a temporary variable
let temp;
//swap variables
temp = a;
a = b;
b = temp;
console.log(`The value of a after swapping: ${a}`);
console.log(`The value of b after swapping: ${b}`);
输出
Enter the first variable: 4
Enter the second variable: 2
The value of a after swapping: 2
The value of b after swapping: 4
这里,
- 我们创建了一个临时变量来临时存储的值。
- 我们将b的值分配给a 。
- temp的值分配给b
结果,变量的值被交换。
注意:您也可以使用此方法交换字符串或其他数据类型。
示例2:使用es6(ES2015)解构分配
//JavaScript program to swap two variables
//take input from the users
let a = prompt('Enter the first variable: ');
let b = prompt('Enter the second variable: ');
//using destructuring assignment
[a, b] = [b, a];
console.log(`The value of a after swapping: ${a}`);
console.log(`The value of b after swapping: ${b}`);
输出
Enter the first variable: 4
Enter the second variable: 2
The value of a after swapping: 2
The value of b after swapping: 4
在这里,称为分解分配[a, b] = [b, a]
的新es6功能用于交换两个变量的值。如果[a, b] = [1, 2, 3]
,则a的值为1 , b的值为2 。
- 首先创建一个临时数组[b,a] 。此处[b,a]的值为[
[2, 4]
。 - 完成数组的解构,即
[a, b] = [2, 4]
。
结果,变量的值被交换。
您可以在JavaScript Spread Operator和Destructing Assignment中了解有关解构的更多信息。
注意 :您也可以使用此方法交换字符串或其他数据类型。
您也可以使用算术运算 运算符交换变量的值。
示例3:使用算术运算符
//JavaScript program to swap two variables
//take input from the users
let a = parseInt(prompt('Enter the first variable: '));
let b = parseInt(prompt('Enter the second variable: '));
// addition and subtraction operator
a = a + b;
b = a - b;
a = a - b;
console.log(`The value of a after swapping: ${a}`);
console.log(`The value of b after swapping: ${b}`);
输出
Enter the first variable: 4
Enter the second variable: 2
The value of a after swapping: 2
The value of b after swapping: 4
此方法仅使用两个变量,并使用算术运算运算符 +
和-
交换变量的值。
这里, parseInt()
的使用,因为prompt()
需要从所述用户作为字符串输入。当添加数字字符串时,它表现为字符串。例如, '2' + '3' = '23'
。因此parseInt()
将数字字符串转换为数字。
要了解有关类型转换的更多信息,请转到JavaScript类型转换。
让我们看看上面的程序如何交换值。最初, a为4 , b为2 。
-
a = a + b
将值4 + 2
分配给a (现在为6 )。 -
b = a - b
分配值6 - 2
至b(现在4)。 -
a = a - b
赋值6 - 4
到 (现在的2)。
最后, a为2 , b为4 。
注意 :如果两个变量都是数字类型,则可以使用算术运算运算符( +
, -
)。
示例4:使用按位XOR 运算符
//JavaScript program to swap two variables
//take input from the users
let a = prompt('Enter the first variable: ');
let b = prompt('Enter the second variable: ');
// XOR operator
a = a ^ b
b = a ^ b
a = a ^ b
console.log(`The value of a after swapping: ${a}`);
console.log(`The value of b after swapping: ${b}`);
输出
Enter the first variable: 4
Enter the second variable: 2
The value of a after swapping: 2
The value of b after swapping: 4
如果两个操作数都不相同,则按位XOR 运算符的计算结果为true
。要了解有关按位运算运算符的更多信息,请访问JavaScript按位运算符 。
让我们看看上面的程序如何交换值。最初, a为4 , b为2 。
-
a = a ^ b
将值4 ^ 2
分配给a (现在为6 )。 -
b = a ^ b
将值6 ^ 2
分配给b (现在为4 )。 -
a = a ^ b
将值6 ^ 4
分配给a (现在为2)。
最后, a为2 , b为4 。
注意 :只能将此方法用于整数(整数)值。