我正在制作一个nodejs服务器。我已经建立了一个系统,我需要动态加载不同的类。类的名称是字符串。它看起来像这样:
var classname = "foo"; // this is the name of the class I want to call.
var bar = new classname //classname needs to be foo in this example.
我已经尝试了window[classname]
,但这不起作用,因为这是nodejs所以没有可以使用的窗口。
感谢您阅读:)
答案 0 :(得分:2)
eval("new " + classname)
但是“小心,eval is evil”等等。
答案 1 :(得分:1)
更好的方法是使用JSON对象。为此,您始终可以拥有一个key:value
JSON对象,其中键对应于您的变量。请参阅下面的示例。变量classname
实际上是JSON对象key
的{{1}},然后您可以轻松地引用它来模拟,就好像您正在创建一个新类:
obj