使用数组进行Javascript变量交换

javascript variable swapping using arrays

本文关键字:Javascript 变量 交换 数组      更新时间:2023-09-26
 [a,b] = [b,a]

上面的代码是如何交换a和b的?

我可以看到表达式的右边是一个数组,但是我不明白怎么能把它赋值给左边。

请查看此提琴http://jsfiddle.net/sethunath/MqWKH/

更新:只适用于firefox

JavaScript 1.7添加了解构赋值,您在这里看到了。只有少数浏览器支持JavaScript 1.7。值得注意的是,当script标签的type属性为application/javascript;version=1.7时,Mozilla Firefox支持它。

上面的代码不会交换ab,它会给你一个

Invalid left-hand side in assignment 

你到底想做什么?在Javascript中,你不能以这种方式交换变量!

浏览器尝试:

[a,b] = [b,a]
结果:

ReferenceError: Invalid left-hand side in assignment

也就是说,这在JavaScript中是不允许的。

CoffeeScript(编译成JavaScript)可以。