在 Javascript 中,物件可以嵌套,建立層次結構。但是,從嵌套子物件存取父物件可能具有挑戰性。
考慮以下嵌套物件:
<code class="javascript">obj: { subObj: { foo: 'hello world' } };</code>
要引用s 中的子對象,我們使用:
<code class="javascript">var s = obj.subObj;</code>
現在,我們想要使用s 取得父對象obj。
不幸的是,Javascript 中沒有直接的機制可以從子物件中檢索父物件。這是因為子對像不知道其父對象的存在。
替代解決方案
一個解決方法是利用函數在巢狀物件中建立父子關係。擴充上面的程式碼:
<code class="javascript">var main = { name : "main object", child : { name : "child object", parent : null }, init : function() { this.child.parent = this; delete this.init; return this; } }.init();</code>
在 init 函數中,我們將父物件指派給子物件內的父屬性。透過呼叫它,我們從嵌套子物件中引用當前物件(即主物件)。最後,為了程式碼清晰,我們刪除了 init 函數。
使用這種技術,我們現在可以從子物件存取父物件:
<code class="javascript">main.child.parent.name // returns "main object"</code>
以上是如何在 JavaScript 中存取嵌套子物件的父物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!