2010-01-28 65 views
2

有没有办法在javascript中创建变量类名?在PHP中下一个被允许:javascript中的变量类名

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

汤姆

回答

5

使用square bracket notation

some_object["string_containing_method_name"](); 

如果你想与全局玩,然后只记得他们是window对象的所有属性。

...但是don't play with globals

你具体的例子:

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

(显然,只有在机器使用$通常的惯例生成的代码应该也适用)

0

记住,“eval is evil”,但如果你知道这一点,则:

var classname= "klasse"; 
eval("var obj = new " + classname + "();"); 
+0

@大卫(已删除评论即指出,'eval'不应该使用的作者),这就是为什么我添加了免责声明。但是,这个问题听起来比不久将要付诸实践的理论更为理论化。 – naivists 2010-01-28 14:08:53

0

如果你想调用像

new acme.tools.Hammer(); 

然后做

var $toolName = "Hammer"; 
var myObject = new window['acme']['tools'][$toolName]();