我有两个变量:
var a = 1,
b = 2;
我的问题是如何交换它们?只有这个变量,没有任何对象。
我有两个变量:
var a = 1,
b = 2;
我的问题是如何交换它们?只有这个变量,没有任何对象。
当前回答
虽然前面给出了同样的答案,但这里有一个png来描述它。
最简单的形式:
其他回答
您可以使用临时交换变量或XOR。
a = a ^ b
b = a ^ b
a = a ^ b
这只是一个基本的逻辑概念,适用于支持异或操作的每种语言。
编辑:见注释。忘了说,这只适用于整数。假设问题线程中的整数变量
第一个方法, 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);
简单明了的答案。
下面是交换两个变量值的一行代码。 给定变量a和b:
b = [a, a = b][0];
演示如下:
var = 1, b = 2, 输出= . getelementbyid(“输出”); 输出。innerHTML="<p>原来:"+a+", "+b+"</p>"; //交换变量a和b的值 B = [a, a = B][0]; 输出。innerHTML+="<p>交换:"+a+", "+b+"</p>"; < div id = "输出" > < / div >
我们怎么会错过这些经典的俏皮话呢
var a = 1, b = 2
a = ({a:b, _:(b=a)}).a;
And
var a = 1, b = 2
a = (_=b,b=a,_);
最后一个暴露了全局变量“_”,但这并不重要,因为典型的javascript惯例是使用它作为“不在乎”变量。
ES6解构:
使用数组:[a, b] = [b, a];//我的最爱
使用对象:{a, b} = {a:b, b:a};//也不错