2010-01-28 64 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]();