【问题标题】:Assignment Order in Javascript [duplicate]Javascript中的分配顺序[重复]
【发布时间】:2016-06-12 12:38:16
【问题描述】:

我在以下 sn-p 中没有得到的东西: a 和 b 现在是指向同一个对象的指针。

var foo = {n:1}; /// foo points to an object
var bar = foo;  /// bar point to the same object as foo
foo.x = foo = {n:2};  /// foo is now pointing to a new object

在最后一个赋值中,属性 x 被添加到 bar。 为什么? x 不应该指向 n:2 吗?

【问题讨论】:

    标签: javascript


    【解决方案1】:
    foo.x = foo = {n:2};  /// foo is now pointing to a new object
    

    你可以简化为

    foo = {n:2}; // foo point to a NEW object
    foo.x = foo;
    

    所以 x 指向 foo。属性链接到自身对象。

    【讨论】:

    • 如果我在 Chrome 中将其作为脚本运行,则 bar 似乎具有新属性。 foo:对象 n:2 bar:对象 n:1 x:对象 foo.x:未定义
    • 这个答案是错误的。
    猜你喜欢
    • 1970-01-01
    • 2014-11-13
    • 2023-03-29
    • 2020-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-05
    • 2016-02-23
    相关资源
    最近更新 更多