交换两个变量值的问题

交换两个变量的方法

1、先来一个最厉害的

a = [b,b=a][0];
  • 先执行b=a;进行b得到a的值,在通过a=[b,a][0]得到a=b简直不要太厉害

2、第三变量

    var t;
    t = a;
    a = b;
    b = t;

3、加减运算

a += b;//a=a+b
b = a - b;//b=a-b
a -= b;//a=a-b

4、位运算

a ^= b;
b ^= a;
a ^= b;

5、把a先变成了一个对象,这个对象保存着应该交换后的键值对,最后赋值搞定

a = {a:b,b:a};
b = a.b;
a = a.a;

6、对象换成数组

a = [a,b];
b = a[0];
a = a[1];

7、最后利用了ES6的解构赋值语法,它允许我们提取数组和对象的值,对变量进行赋值,

[a,b] = [b,a];

你可能感兴趣的:(交换两个变量值的问题)