Heim  >  Artikel  >  Web-Frontend  >  Wie können Sie in JavaScript auf das übergeordnete Objekt eines verschachtelten untergeordneten Objekts zugreifen?

Wie können Sie in JavaScript auf das übergeordnete Objekt eines verschachtelten untergeordneten Objekts zugreifen?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-25 02:04:30942Durchsuche

How Can You Access the Parent Object of a Nested Child Object in JavaScript?

Javascript-Objekte: Abstammung bestimmen

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn