如何不借助中间变量交换两个变量的值?

354 阅读1分钟

var a = 1; var b = 3;

如何交换两个变量的值呢?在实际开发中我们遇到类似问题一般会借助中间变量转存实现交换;

示例: var c = a;

a = b;

b =c;

以此实现变量a 和b的交换;

那么如何不通过中间变量实现交换呢?

解法一

数学方法

a = a + b;

b = a - b;

b = a - b;

如上,为当 a = a + b时 b = a - b = (a + b) - b = a;

b = a - b = (a + b) - a = b;

解法二

函数方法

((l, r) => { a = r; b = l; })(a, b)