js变量交换

版权声明: https://blog.csdn.net/chenwuai/article/details/85845515

刚才写位操作的时候突然想到了这个问题,突然想总结一下,交换变量值的问题可能使我们学习编程语言接触到的比较早的逻辑问题,可能有些小伙伴只会两种。

var a = 123;
var b = 456;

变量交换七种方法

/*
* 一、临时变量
*/ 
var t;
t = a;
a = b;
b = t;

/*
* 二、+ 或 -
*/
a = a + b;
b = a - b;
a = a - b;
//或者
a = a - b;
b = a + b;
a = b - a;

/*
* 三、位操作
*/
a ^= b;
b ^= a;
a ^= b;
//或者
a = (b^=a^=b)^a;

/*
* 四、对象结构
*/
a = {a:b,b:a};
b = a.b;
a = a.a;

/*
* 五、数组结构
*/
a = [a,b];
b = a[0];
a = a[1];

/*
* 六、数组结构,运算符优先级
*/
a = [b,b=a][0];

/*
* 七、ES6解构赋值,就浏览器不兼容
*/
[a,b] = [b,a];


//-------------

查看你的浏览器是否支持,请打开 浏览器兼容查询 https://caniuse.com/

猜你喜欢

转载自blog.csdn.net/chenwuai/article/details/85845515