1

我已经使用 Javascript 中的嵌套对象创建了一个“命名空间”,并试图“新建”一个 javascript 对象的实例。

//
// Create the ABC.DTO "namespace"
if (typeof (ABC) == 'undefined') var ABC= { DTO: {} };
//
// Define the ListType object
ABC.DTO.ListType = function (pId, pName) {

    var id   = pId;
    var name = pName;

    return {
        Id: id,
        Name: name
    }
};
//
// Create an instance of the "listType" object
var type1 = new ABC.DTO.ListType(1, 'Letter Type'); // THROWS ERROR

抛出的错误是“对象不支持此操作”......我已经查看了以下帖子,除非我遗漏了一些东西,否则我觉得代码是正确的。我忽略了什么吗?

在 JavaScript 中定义一个“嵌套”对象构造函数?

在 javascript 中实例化新对象

4

1 回答 1

0

这适用于最简单的情况:

baz = { foo: {} };
baz.foo.bar = Function;
bop = new baz.foo.bar();

console.log(bop);

还有稍微复杂一点的情况:

var baz = { foo: {} };
baz.foo.bar = function(){};
var bop = new baz.foo.bar();

console.log(bop);

但在上述情况下由于吊装而失败。

参考

于 2017-05-26T01:31:02.547 回答