Maison >interface Web >js tutoriel >Comment puis-je utiliser des noms de variables dynamiques en JavaScript ?

Comment puis-je utiliser des noms de variables dynamiques en JavaScript ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-18 22:10:101000parcourir

How Can I Use Dynamic Variable Names in JavaScript?

Utilisation de noms de variables dynamiques en JavaScript

En PHP, il est possible de manipuler les noms de variables de manière dynamique. Par exemple, étant donné le code PHP suivant :

$a = 1;
$b = 2;
$c = 3;
$name = 'a';
echo $$name; // prints 1

Existe-t-il un moyen équivalent d'obtenir cette fonctionnalité en JavaScript ?

Solution JavaScript

Bien que JavaScript ne prenne pas en charge les noms de variables dynamiques de la même manière que PHP, il fournit un mécanisme permettant d'accéder dynamiquement aux variables à l'aide du point ou du crochet de l'objet et de la propriété. notation.

Comme d'autres langages de programmation, chaque variable en JavaScript est stockée dans un objet appelé objet variable, qui fait partie de la portée actuelle (globale ou locale).

Si nous avons les variables globales suivantes :

var a = 1;
var b = 2;
var c = 3;

Nous pouvons y accéder dynamiquement en utilisant la notation "point" ou "support" sur l'objet window, qui est l'objet global dans navigateurs :

var name = "a";
var value = window[name]; // returns 1

// or

value = window['a']; // returns 1

Il est important de noter que cette approche ne fonctionne que pour l'objet global. Dans un contexte de fonction, les variables sont stockées dans l'objet variable de l'objet d'activation, qui n'est pas directement accessible.

Par exemple :

function foobar() {
  this.a = 1;
  this.b = 2;

  var name = "a";
  console.log(window['a']); // undefined
  console.log(this['a']); // 1
}

new foobar();

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