javascript:在嵌套对象中定义对父对象的引用

javascript:在嵌套对象中定义对父对象的引用,javascript,javascript-objects,Javascript,Javascript Objects,我有以下目标: var myObject = { attributes: { name: "dev.pus", age: 29 }, someInjectedObject: { name: "someComponent", action: function() { // do something return this.this.attributes.name; // this surely won'

我有以下目标:

var myObject = {
    attributes: { name: "dev.pus", age: 29 },
    someInjectedObject: {
        name: "someComponent",
        action: function() {
            // do something
            return this.this.attributes.name; // this surely won't work :(
        }
    }
};
如您所见,我希望从对象的嵌套部分获取myObject.attributes.name,而不必观察值

我该怎么做?如何定义引用

编辑:
一个简单的myObject.attributes是不够的,因为myObject会更改或更好地分配给一个新变量。

在对象周围创建一个闭包:

var myObject = (function() {
  var result = {
    attributes: { name: "dev.pus", age: 29 },
    someInjectedObject: {
      name: "someComponent",
      action: function() {
        // do something
        return result.attributes.name;
      }
    };
  };
  return result;
})();

在对象周围创建闭包:

var myObject = (function() {
  var result = {
    attributes: { name: "dev.pus", age: 29 },
    someInjectedObject: {
      name: "someComponent",
      action: function() {
        // do something
        return result.attributes.name;
      }
    };
  };
  return result;
})();

您可以这样直接引用
myObject

var myObject = {
    attributes: { name: "dev.pus", age: 29 },
    someInjectedObject: {
        name: "someComponent",
        action: function() {
            // do something
            return myObject.attributes.name; // this surely will work :(
        }
    }
};

alert(myObject.someInjectedObject.action());
​

您可以这样直接参考
myObject

var myObject = {
    attributes: { name: "dev.pus", age: 29 },
    someInjectedObject: {
        name: "someComponent",
        action: function() {
            // do something
            return myObject.attributes.name; // this surely will work :(
        }
    }
};

alert(myObject.someInjectedObject.action());
​

他在问题中说,正如您看到的,我希望从对象的嵌套部分获取
myObject.attributes.name
,而不必观察值。我猜他甚至不会问这个问题,如果这个解决方案是可接受的,他在他的问题中说,正如你看到的,我想从对象的嵌套部分获得
myObject.attributes.name
,而不必观察值。如果这个解决方案可以接受,我想他甚至不会问这个问题。我已经更新了我的答案。如果你改变了你的问题,你不应该否决你的答案。嗯,这是一个可能的解决方案,但很难整合(我必须重写我所有的主干。模型实现。也许会有另一个答案。PS:我没有否决…。。@dev.pus,而不是创建新的闭包,你只需创建一个不会更改的myObject变量副本。这很难看,但会起作用。P.S.很抱歉怀疑你:)嗯,我会等一等最后的答案,但似乎我将不得不使用闭包重构很多:)我已经更新了我的答案。如果你改变了你的问题,你不应该否决你的答案。嗯,这是一个可能的解决方案,但很难整合(我必须重写我所有的主干。模型实现。也许会有另一个答案。PS:我没有否决…。。@dev.pus,而不是创建新的闭包,你只需创建一个不会更改的myObject变量副本。这很难看,但会起作用。P.S.很抱歉怀疑你:)嗯,我会等一等最后的答案,但似乎我将不得不使用闭包重构很多:)可能的重复可能的重复