我的函数将模型名称获取为字符串,我需要根据其名称创建对象的新实例。

例如:

    modelName = 'MockA';
    model = new modelName();


这当然是行不通的。在PHP中,我会用

    model = new $$modelName


提前致谢

最佳答案

如果MockA在全局范围内,则可以使用:

var model = new window[modelName]();


如果没有,那么您应该重新考虑存储模型的方式。带有模型对象:

var my_models = {
   MockA: function() {},
   MockB: function() {}
}


并访问

var MockA = my_models.MockA;
// or
var model_name = 'MockA';
var MockA = my_models[model_name];

关于javascript - 通过使用字符串作为名称来创建对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37043733/

10-09 14:57