题目描述

要求交换a、b两者的值,但是不能使用临时变量。

解题

1
2
3
4
var a = 2;
var b = 5;
[a,b] = [b,a]
console.log(a,b) // 5 2

这是利用了解构赋值的特性,右边会创建临时数组求值,实际上会临时有:[a,b]=[5,2],当赋值完成后,临时数组也就不存在了。因此没有使用额外的临时变量。