0

如何构造已定义对象的新实例?

我有与此类似的代码,但this.User = new User();它不起作用。

(function () {

SomeApp = {

    User: {
        FirstName: '',
        LastName: ''

    },

    Users: [],

    init: function () {
        this.User.FirstName = 'Joe';
        this.User.LastName = 'Blogs';

        //add user to list
        var copiedUser = {};
        $.extend(copiedUser, this.User);
        this.Users.push(copiedUser);

        //create new user
        this.User = new User();
        this.User.FirstName = 'Jane';

        //add user to list
        var copiedUser = {};
        $.extend(copiedUser, this.User);
        this.Users.push(copiedUser);
    }
}

SomeApp.init();

})();
4

1 回答 1

3

如果您希望能够使用new创建对象,您可以创建一个“构造函数”:

function User() {
    this.FirstName = '';
    this.LastName = '';
}

旁注:我建议您遵循命名变量的最佳实践。请阅读本指南

于 2012-10-11T13:03:37.813 回答