Maison > interface Web > js tutoriel > le corps du texte

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

Patricia Arquette
Libérer: 2024-10-25 02:04:30
original
941 Les gens l'ont consulté

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>
Copier après la connexion

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

<code class="javascript">var s = obj.subObj;</code>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!