我有一个非常直截了当的问题,但我似乎无法在任何地方找到解决方案......
基本上我想实例化一个新的Javascript对象,但类名是一个变量。在PHP中,实现非常简单new $className()
。我在Javascript中尝试了以下解决方案,但没有运气:
window.onload=function(){
function obj(){
this.show = function(){
console.log('Hallo World');
}
}
var objs = ['obj'];
new objs[0]().show();
}
有谁知道如何解决这个问题?
答案 0 :(得分:3)
如图所示,如果没有eval
,则无法执行此操作。
如果您愿意更改它,您可以:
window.onload=function(){
var things = {
obj: function(){
this.show = function(){
console.log('Hallo World');
};
}
};
new things['obj']().show();
// Or: new things.obj().show();
};
答案 1 :(得分:1)
这会对你有所帮助:
var creator = {
obj : function (){
this.show = function(){
console.log('Hallo World');
};
}
}
var myInstance = new creator['obj'];
myInstance.show();
我们的想法是将构造函数定义为属性。