Maison > interface Web > js tutoriel > Comment instancier des objets JavaScript avec des noms de classe dynamiques ?

Comment instancier des objets JavaScript avec des noms de classe dynamiques ?

Barbara Streisand
Libérer: 2024-10-22 13:59:02
original
225 Les gens l'ont consulté

How to Instantiate JavaScript Objects with Dynamic Class Names?

Instancier des objets JavaScript avec des noms de classe dynamiques

Créer des objets JavaScript de manière dynamique à l'aide d'une variable de chaîne pour définir le nom de la classe présente un défi unique. Analysons le scénario que vous avez décrit et explorons une solution potentielle.

Dans votre pseudo-code, vous essayez de définir une classe avec le nom de variable MyClass, de stocker le nom de la classe dans la variable chaîne classNameString et d'instancier un objet en utilisant cette chaîne comme nom de classe.

Cette approche est confrontée à des limitations dans le mécanisme d'instanciation d'objet de JavaScript, qui nécessite une référence directe à la fonction constructeur de classe. Comme vous avez stocké le nom de la classe sous forme de chaîne, vous ne pouvez pas accéder directement au constructeur de la classe.

Pour contourner ce problème, vous pouvez utiliser une approche indirecte :

1

<code class="javascript">var myObject = window[classNameString];</code>

Copier après la connexion

Dans ce code :

  • window est l'objet global en JavaScript, qui possède une propriété pour chaque classe définie.
  • La notation entre crochets [] est utilisée pour accéder à la propriété correspondant à la classNameString.
  • Si une classe avec le nom stocké dans classNameString existe, le code la récupérera et l'attribuera à myObject.

En utilisant cette technique, vous pouvez instancier dynamiquement des objets à l'aide d'une variable de chaîne pour définir le nom de la classe. N'oubliez pas que cette approche suppose que la classe est déjà définie et accessible via l'objet window global.

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