我有两个变量:
var a = 1,
b = 2;
我的问题是如何交换它们?只有这个变量,没有任何对象。
我有两个变量:
var a = 1,
b = 2;
我的问题是如何交换它们?只有这个变量,没有任何对象。
当前回答
现在你终于可以做到:
设a = 5; 令b = 10; [a, b] = [b, a];/ / ES6 console.log (a, b);
其他回答
您可以使用临时交换变量或XOR。
a = a ^ b
b = a ^ b
a = a ^ b
这只是一个基本的逻辑概念,适用于支持异或操作的每种语言。
编辑:见注释。忘了说,这只适用于整数。假设问题线程中的整数变量
使用第三个变量,像这样:
var a = 1,
b = 2,
c = a;
a = b; // must be first or a and b end up being both 1
b = c;
DEMO -使用第三个变量
我们可以使用IIFE交换两个值,而不需要额外的参数
Var a = 5, b =8; B =(函数(a){ 返回一个 } (a, a = b)); 文档。写("a: "+ a+ " b: "+ b);
我们可以这样交换var:
var val1 = 117,
val2 = 327;
val2 = val1-val2;
console.log(val2);
val1 = val1-val2;
console.log(val1);
val2 = val1+val2;
console.log(val2);
第一个方法, Var a = 5, b = 9; A = A - b; B = a + B; A = b - A; console.log (a, b);
第二种方式
Var a = 19, b = 22; [a, b] = [b, a]; console.log (a, b);
简单明了的答案。