在 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/