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取余,逆序排列