1. 程式人生 > >如何在不借助其他函式和第三個變數的情況下,更換兩個變數的值?

如何在不借助其他函式和第三個變數的情況下,更換兩個變數的值?

如題,這是一個有趣的小題目。具體方法如下:

▍方法一

var a = 3;
var b = 4;

a = a + b;  // 7
b = a - b;  // 3
a = a - b;  // 4

▍方法二

var a = 3;
var b = 4;

a = a ^ b;  // 7
b = b ^ a;  // 3
a = a ^ b;  // 4

顯然,上面兩種方法僅針對數字是有效的,對於字串就不能夠生效了,所以下面還有一種對數字和字串都能生效的方法。

▍方法三

var a = "hello";
var b = "world";

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

console.log(a); // "world"
console.log(b); // "hello"