交换两个变量值的问题

2017-10-26  本文已影响0人  东东丶酱

交换两个变量的方法

1、先来一个最厉害的

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

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];
上一篇 下一篇

猜你喜欢

热点阅读