【问题标题】:javascript variable swapping using arrays使用数组交换 javascript 变量
【发布时间】:2013-05-27 07:22:46
【问题描述】:
 [a,b] = [b,a]

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

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

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

更新:仅适用于火狐!

【问题讨论】:

标签: javascript


【解决方案1】:

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

【讨论】:

【解决方案2】:

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

Invalid left-hand side in assignment 

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

【讨论】:

    【解决方案3】:

    在浏览器中尝试:

    [a,b] = [b,a]
    

    结果:

    ReferenceError: Invalid left-hand side in assignment
    

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

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

    【讨论】:

    • @Sethunath 看看浏览器控制台,你可以看到那里记录的错误
    • 我今天学到了一些新东西:你正在做的事情将在 JavaScript 1.7 版中实现,但由于显而易见的原因,你可能需要很长时间才能期望它在任何地方都能工作。
    猜你喜欢
    • 1970-01-01
    • 2020-12-31
    • 1970-01-01
    • 2019-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-26
    相关资源
    最近更新 更多