Maison  >  Article  >  interface Web  >  Comment accéder aux valeurs d’objet internes en JavaScript ?

Comment accéder aux valeurs d’objet internes en JavaScript ?

DDD
DDDoriginal
2024-10-19 13:00:02915parcourir

How to Access Internal Object Values in JavaScript?

Accès aux valeurs d'objet internes en JavaScript

En JavaScript, un objet peut faire référence à des valeurs en lui-même à l'aide de son mécanisme de référence interne. Cependant, déterminer la syntaxe appropriée pour accéder aux valeurs internes peut parfois s'avérer délicat.

Considérez le code JavaScript suivant :

<code class="js">var obj = {
  key1: "it ",
  key2: key1 + " works!"
};
alert(obj.key2);</code>

Ce code tente d'accéder à la valeur de 'key2' en fonction de la valeur de 'key1'. Cependant, cela génère une erreur car « key1 » n'est pas défini dans la portée de « key2 ».

Diverses méthodes ont été explorées pour accéder à la valeur de « key1 » dans « key2 », notamment :

<code class="js">this.key1
this[key1]
obj.key1
obj[key1]
this["key1"]
obj["key1"]</code>

Cependant, aucune de ces approches ne semble réussir.

Solution :

Pour accéder aux valeurs internes d'un objet, envisagez d'utiliser une fonction dans l'objet lui-même . En définissant une fonction dans « obj », vous pouvez accéder aux valeurs internes (comme « key1 ») en utilisant « this ». Par exemple :

<code class="js">var obj = {
  key1: "it ",
  key2: function() {
    return this.key1 + " works!";
  }
};

alert(obj.key2());</code>

Dans cet exemple, la fonction « key2 » a accès à la propriété « key1 » dans « obj » via le mot-clé « this ». Lorsque 'obj.key2()' est appelé, il renvoie la chaîne concaténée "ça marche !".

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