JavaScript中的动态对象初始化(就像PHP反射允许的那样)?

Gco*_*oop 2 javascript php reflection design-patterns

在PHP中使用Reflection我可以像这样动态创建一个对象

$target = 'core_domain_Person';
$reflect = new ReflectionClass($target);
$obj = $reflect->newInstance();
Run Code Online (Sandbox Code Playgroud)

我想在JavaScript中复制这个相同的概念是否有办法开箱即用?或者有没有办法复制Reflection正在做的事情?

Jam*_*mes 6

你的评论指出:

所以我可以根据请求的视图创建"视图控制器"对象.直到运行时我才知道正在请求的视图是什么.

我建议将所有视图保存在一个views对象中:

var views = {
    Foo: function() {},
    Bar: function() {},
    Dah: function() {}
};
Run Code Online (Sandbox Code Playgroud)

然后,使用括号表示法,您可以访问任何视图构造函数:

var viewName = 'Foo';
var instanceOfView = new views[viewName];
Run Code Online (Sandbox Code Playgroud)