2
 [a,b] = [b,a]

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

我可以看到表达式的右侧创建了一个数组,但我不明白如何将它分配给左侧。

请看这个小提琴http://jsfiddle.net/sethunath/MqWKH/

更新:仅在 Firefox 中有效!

4

3 回答 3

4

JavaScript 1.7 添加了解构赋值,您正在那里观察。少数浏览器支持 JavaScript 1.7。然而,值得注意的是,当script标签的type属性为application/javascript;version=1.7.

于 2013-05-27T07:26:24.467 回答
0

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

Invalid left-hand side in assignment 

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

于 2013-05-27T07:25:33.023 回答
0

在浏览器中尝试:

[a,b] = [b,a]

结果:

ReferenceError: Invalid left-hand side in assignment

换句话说:这在 JavaScript 中是不允许的。

但是,CoffeeScript(编译为 JavaScript)可以。

于 2013-05-27T07:25:42.120 回答