在JavaScript 中取得巢狀物件的父物件
使用巢狀JavaScript 物件時,存取巢狀物件的父物件可能很有用給定的巢狀物件。然而,這在 JavaScript 中是不可能直接實現的。
巢狀物件(子物件)缺乏對其父物件(父物件)的明確參考。這意味著子物件無法直接存取其父物件的屬性或方法。
例如,給定以下物件層次結構:
<code class="js">obj: { subObj: { foo: 'hello world' } };</code>
分配對子物件的參考:
<code class="js">var s = obj.subObj;</code>
s 沒有內建方法可以直接存取 obj 物件。
解決這個問題的一種方法是在子物件中手動設定對父物件的參考。這可以使用函數來完成:
<code class="js">var main = { name : "main object", child : { name : "child object" }, init : function() { this.child.parent = this; delete this.init; return this; } }.init();</code>
在 init 函數中,我們將 this (主物件)指派給子物件中名為parent 的屬性。這允許 s 存取 obj:
<code class="js">s.parent.name // Output: "main object"</code>
請記住,這種方法涉及修改原始物件結構,並且需要手動初始化。但是,它提供了一種從 JavaScript 中的嵌套物件存取父物件的方法。
以上是如何在 JavaScript 中存取嵌套物件的父物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!