JavaScript 两个变量互换

 1     // 1 临时存值 
 2     var a = 1,b = 2 ,tmp;
 3     tmp = a;
 4     a = b;
 5     b = tmp;
 6         //直观,但会增加内存的使用
 7 
 8     // 2 算数换值
 9     var a = 1,b = 2;
10     a = a+b;
11     b = a-b;
12     a = a-b;
13         //  存在变量数据溢出问题
14     // 3 es6 解构
15     let a = 1,b = 2;
16     [a,b] = [b,a];
17 
18     // 4 利用数组特性
19     var a = 1,b = 2;
20     a = [a.b];
21     b = a[0];
22     a = a[1];
23 
24     // 5 利用对象属性
25     a = {a:b,b:a};
26     b = a.b;
27     a = a.a;
28 
29     // 6 利用算数优先级
30     a = [b,b=a][0];
31         //据运算符优先级,首先执行b=a,此时的b直接得到了a的变量值,然后一步数组索引让a得到了b的值
32 
33     // 7 利用 2进制的异或运算  a^b^b == a
34     var a = 1,b = 2;
35     a = a ^ b;
36     b = a ^ b;
37     a = a ^ b;
38         //十进制转二进制 除2取余,逆序排列 
原文地址:https://www.cnblogs.com/foreverCg/p/10136655.html