Existe-t-il un moyen de créer un nom de classe variable en javascript. En php suivant est autorisé:Nom de classe variable en javascript
$classname = "klasse";
$class = new $classname();
Tom
Existe-t-il un moyen de créer un nom de classe variable en javascript. En php suivant est autorisé:Nom de classe variable en javascript
$classname = "klasse";
$class = new $classname();
Tom
Utilisez square bracket notation:
some_object["string_containing_method_name"]();
Si vous voulez jouer avec globals, puis rappelez-vous juste qu'ils sont toutes les propriétés de l'objet window
.
... mais don't play with globals.
Votre exemple particulier:
var $classname = "klasse";
var $class = new window[$classname]();
(De toute évidence, les conventions habituelles pour seulement en utilisant $ dans la machine du code généré doit appliquer aussi)
Gardez à l'esprit que "eval is evil", mais si vous êtes au courant de ce fait, alors:
var classname= "klasse";
eval("var obj = new " + classname + "();");
Si vous voulez appeler quelque chose comme
new acme.tools.Hammer();
Puis faire
var $toolName = "Hammer";
var myObject = new window['acme']['tools'][$toolName]();
@ David (auteur d'un commentaire supprimé qui a déclaré que 'eval' ne doit pas être utilisé), c'est la raison pour laquelle j'ai ajouté l'avertissement. Cependant, la question semble plus théorique que d'être bientôt mise en pratique. – naivists