javascript - 实例化动态类

标签 javascript oop class

在 Javascript 中,如何在不使用 eval() 并传入参数的情况下动态实例化一个新类?例如, 假设我想创建一个新的 CatViewController 并传入“kitten”,我该怎么做?

var myClassname = "CatViewController";
var cat = new myClassname("kitten");

它应该解析为:

var cat = new CatViewController("kitten");

谢谢!

最佳答案

只要功能在范围内,您就可以这样做:

var cat = new this[myClassname]("kitten");

另一种类似的方式:

var classes = {
    A: function (arg) {

    },
    B: function (arg) {

    },
    C: function (arg) {

    }
};

var a = new classes["A"]("arg");

关于javascript - 实例化动态类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4590512/

相关文章:

javascript - Google Closure 编译器不压缩字符串值?

javascript - 如何以可维护的方式使用 React 和 Redux thunk 处理服务器/连接异常

javascript - switch/case 是否能够比较多个值?

oop - 我们是否应该始终使用工厂而不是使用 'new' 关键字创建对象?

oop - 你如何在 Swift 中访问嵌套对象?

JavaScript 等效于 PHP __invoke

c++ - 如何在 C++ 中对类使用运算符重载函数?

c++ - 使用类方法而不实例化

javascript - Google reCAPTCHA 数据回调不起作用

Matlab 删除我的值(value)观