2014-01-18 169 views
0

我有一個幻燈片類看起來像這樣的家長:如何訪問JavaScript對象

//Our slideshow class 
function Slideshow(moduleId) { 

    this.moduleId = moduleId; 

    this.activeSlide = null; 

    this.slides = new Array(); 

    this.newRound(); 

} 

和我實例它告訴它是什麼模塊上這樣

self.modules[moduleId].slideshow = new Slideshow(moduleId); 

現在,你可以看,它已經被「掛載」在moduleId命名的模塊上,所以我的問題是:這個對象(Slideshow的實例)是否意識到它的父對象?

我能知道通過執行類似

parent.name 

,並獲得的moduleId這樣的的moduleId?

回答

0

不可以。因爲JavaScript通過引用傳遞對象,同一個Slideshow對象實際上可以同時由多個「父」對象引用。

+0

好吧,所以真正的幻燈片顯示知道什麼「節點」或「moduleId」在我的情況下操作系統「安裝」的唯一方法是做我做的? –

+0

對。如果要維護對幻燈片對象中的另一個對象的引用,則可以在構造函數中傳遞對該對象的引用(不管它是否爲「父級」)。 –

+0

來自StackOverflow上的類似問題:「另一個對象(父級)內的嵌套對象(子級)無法直接從其父級獲取數據。」 (http://stackoverflow.com/questions/2980763/javascript-objects-get-parent)。 一種選擇是將幻燈片對象作爲參數傳遞給模塊的構造函數,該構造函數可以在幻燈片上設置「父」屬性。 –