在给定子对象的情况下访问对象的父(或实例?)

时间:2017-09-09 04:47:33

标签: javascript node.js object parent-child eventemitter

我有一个对象变量a,它有一个与之关联的数组,b。我将b传递给函数,需要检查与其关联的对象中的属性。

我该怎么做?我可以以某种方式使用事件发射器吗?

function ObjectB (stuff) {
   this.a = new a();
}

function doSomething (s) {
//need to get b from a
}

var b = new ObjectB(info);
b.a.doSomething(5);

1 个答案:

答案 0 :(得分:3)

没有对象父级的内置概念。因此,您的数组a根本没有引用您所谓的父类。如果您想通过向a添加属性,可以向a添加一个。在您的术语中,除非您在b上设置指向a的属性,否则无法从a获取b

但是,处理你在Javascript中描述的情况的通常方法是要么只是传递容器,然后你就拥有了容器,并且可以在需要时将a从容器中取出,或者你可以通过容器和数组。

其中一个原因是,没有父级或容器的概念,因为a可能存在于许多其他对象中。当您有{a: someArray}时,someArray数组实际上并不在父对象中。相反,该对象中只有一个引用指向someArray,并且可能有许多不同的对象指向someArray。没有“一个”容器。如果你想指定一个这样的容器,那么你可以在某个地方设置一个属性来指示你想要涂抹哪个容器,或者正如我之前建议的那样,你可以传递容器和对象,这样你所调用的函数就知道你在哪个容器中想要它使用。

  

我可以以某种方式使用事件发射器吗?

我认为事件发射器与您提出的问题无关。如果您认为它是相关的,那么我们需要查看您的代码以了解它在这里的使用方式。