javascript中交换两个变量的值,不声明第三个变量
之前面试遇到的一个问题
var a=1;
var b=2;
交换两个变量的值,不使用第三个变量
一般的解决方案是如下:
a=b-a; //a=1,b=2
b=b-a; //a=1,b=1
a=b+a; //a=2,b=1
完美实现了交换的目的。
如果a,b不是基本数据类型,而是对象,那怎么实现呢?
其实不难 简单一句代码就能实现:
var a={x:1};
var b={y:1};
a=[b,b=a][0];
console.log(a,b);//{y:1},{x:1}
浙公网安备 33010602011771号