2017-09-09 74 views
-1

我有一個對象變量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

把你的相關代碼片段,並告訴我們你有什麼嘗試。 –

+0

@BeingSunny更新 – timdirusso

回答

3

對象的父項沒有內置的概念。所以,你的數組a根本就沒有提及你所說的父項。如果您想要將屬性添加到a,您可以添加一個到a。用你的術語,你不能從a得到b,除非你在a上設置了一個指向b的財產。

但是,通常的方式來處理像你描述的情況是使用Javascript只是通過容器,然後你有容器,當你需要時可以從容器中獲得a,或者你可以通過容器和數組。

原因之一,沒有父母或容器的概念是因爲a可以在許多其他對象。當你有{a: someArray}時,someArray數組實際上並不在父對象的「in」中。相反,該對象中只有一個引用指向someArray,並且可能有許多不同的對象指向someArray。沒有「一個」容器。如果你想指定一個這樣的容器,那麼你可以在某個地方設置一個屬性,指出你想要哪個容器進行任命或者如前所述,你可以傳遞容器和對象,這樣你所調用的函數就知道你的容器希望它使用。

我可以以某種方式使用事件發射器嗎?

我沒有看到事件發射器與您提問的問題有任何關聯。如果您以某種方式認爲它是相關的,那麼我們需要查看您的代碼,以瞭解它在此處的使用方式。