In Javascript können Objekte verschachtelt werden, wodurch eine hierarchische Struktur entsteht. Der Zugriff auf das übergeordnete Objekt von einem verschachtelten untergeordneten Objekt aus kann jedoch eine Herausforderung sein.
Betrachten Sie das folgende verschachtelte Objekt:
<code class="javascript">obj: { subObj: { foo: 'hello world' } };</code>
Um auf das Unterobjekt innerhalb von s zu verweisen, verwenden wir:
<code class="javascript">var s = obj.subObj;</code>
Jetzt wollen wir das übergeordnete Objekt obj mit s erhalten.
Leider gibt es in Javascript keinen direkten Mechanismus, um das übergeordnete Objekt von einem untergeordneten Objekt abzurufen. Dies liegt daran, dass untergeordnete Objekte keine Kenntnis von der Existenz ihrer übergeordneten Objekte haben.
Alternative Lösung
Eine Problemumgehung besteht darin, eine Funktion zu verwenden, um eine Eltern-Kind-Beziehung innerhalb verschachtelter Objekte herzustellen . Erweitern des obigen Codes:
<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>
In der Init-Funktion weisen wir das übergeordnete Objekt der übergeordneten Eigenschaft innerhalb des untergeordneten Objekts zu. Indem wir dies aufrufen, verweisen wir innerhalb des verschachtelten untergeordneten Objekts auf das aktuelle Objekt (d. h. main). Zum Schluss entfernen wir aus Gründen der Codeklarheit die Init-Funktion.
Mit dieser Technik können wir nun vom untergeordneten Objekt auf das übergeordnete Objekt zugreifen:
<code class="javascript">main.child.parent.name // returns "main object"</code>
Das obige ist der detaillierte Inhalt vonWie können Sie in JavaScript auf das übergeordnete Objekt eines verschachtelten untergeordneten Objekts zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!