【发布时间】:2014-08-25 15:59:33
【问题描述】:
我正在尝试根据声明的类型动态创建对象。这段代码似乎可以工作,但我觉得我可能会为自己的进一步失败做好准备。
我想问题是 - 这是好的代码吗?如果不是,为什么不呢?
//TypeA and TypeB are constuctor functions declared elsewhere which take data objects, omitted here for clarity.
var constructorMapping = { 'typeA': TypeA, 'typeB': TypeB };
function convertToObject( type, dataObject) {
var selectedConstructor = constructorMapping[type];
if ( !selectedConstructor ) {
return false;
}
return new selectedConstructor(dataObject);
}
var typeAObject = convertToObject("typeA", {name: "asdf"});
【问题讨论】:
标签: javascript object constructor new-operator