Maison  >  Article  >  interface Web  >  Comment accéder à l'objet parent d'un objet enfant imbriqué en JavaScript ?

Comment accéder à l'objet parent d'un objet enfant imbriqué en JavaScript ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-25 02:04:30942parcourir

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

Objets Javascript : Détermination de la filiation

En Javascript, les objets peuvent être imbriqués, créant une structure hiérarchique. Cependant, accéder à l'objet parent à partir d'un objet enfant imbriqué peut être difficile.

Considérez l'objet imbriqué suivant :

<code class="javascript">obj: { subObj: { foo: 'hello world' } };</code>

Pour référencer le sous-objet dans s, nous utilisons :

<code class="javascript">var s = obj.subObj;</code>

Maintenant, nous voulons obtenir l'objet parent obj en utilisant s.

Malheureusement, il n'existe pas de mécanisme direct pour récupérer l'objet parent d'un objet enfant en Javascript. En effet, les objets enfants n'ont aucune connaissance de l'existence de leurs parents.

Solution alternative

Une solution de contournement consiste à utiliser une fonction pour établir une relation parent-enfant au sein d'objets imbriqués. . Extension du code ci-dessus :

<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>

Dans la fonction init, nous attribuons l'objet parent à la propriété parent au sein de l'objet enfant. En appelant ceci, nous faisons référence à l'objet actuel (c'est-à-dire principal) depuis l'objet enfant imbriqué. Enfin, nous supprimons la fonction init pour plus de clarté du code.

Grâce à cette technique, nous pouvons désormais accéder à l'objet parent depuis l'enfant :

<code class="javascript">main.child.parent.name // returns "main object"</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn