我有一个对象变量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);
答案 0 :(得分:3)
没有对象父级的内置概念。因此,您的数组a
根本没有引用您所谓的父类。如果您想通过向a
添加属性,可以向a
添加一个。在您的术语中,除非您在b
上设置指向a
的属性,否则无法从a
获取b
。
但是,处理你在Javascript中描述的情况的通常方法是要么只是传递容器,然后你就拥有了容器,并且可以在需要时将a
从容器中取出,或者你可以通过容器和数组。
其中一个原因是,没有父级或容器的概念,因为a
可能存在于许多其他对象中。当您有{a: someArray}
时,someArray
数组实际上并不在父对象中。相反,该对象中只有一个引用指向someArray
,并且可能有许多不同的对象指向someArray
。没有“一个”容器。如果你想指定一个这样的容器,那么你可以在某个地方设置一个属性来指示你想要涂抹哪个容器,或者正如我之前建议的那样,你可以传递容器和对象,这样你所调用的函数就知道你在哪个容器中想要它使用。
我可以以某种方式使用事件发射器吗?
我认为事件发射器与您提出的问题无关。如果您认为它是相关的,那么我们需要查看您的代码以了解它在这里的使用方式。