views:

126

answers:

2

Hello,

Is there a way to make a variable classname in javascript. In php the next is allowed:

$classname = "klasse";
$class = new $classname();

Tom

A: 

Use square bracket notation:

some_object["string_containing_method_name"]();

If you want to play with globals, then just remember they are all properties of the window object.

… but don't play with globals.

Your particular example:

var $classname = "klasse";
var $class = new window[$classname]();

(Obviously, the usual conventions for only using $ in machine generated code should apply too)

David Dorward
A: 

Bear in mind that "eval is evil", but if you are aware of this, then:

var classname= "klasse";
eval( "var obj = new " + classname + "();");
naivists
@David (author of a deleted comment that stated that `eval` shouldn't be used), that's why I added the disclaimer. However, the question sounds more theoretical than soon to be put to practical use.
naivists