我有一个这样写的对象:

Object1.prototype = {
    isInit: false,
    Get : function (){}
}

现在,我想添加一个带有一个参数的构造函数。我该怎么做?

最佳答案

类声明

var User = function(name, age) { // constructor
}

User.prototype = {}

实例变量(成员)
var User = function(name, age) {
    this.name = name;
    this.age = age;
}

User.prototype = {}

静态变量
var User = function(name, age) {
    this.name = name;
    this.age = age;
}

User.prototype = {
    staticVar: 15,
    anotherStaticVar: 'text'
}

在这里,我定义了两个静态变量。每个User实例都可以访问这两个变量。注意,我们可以用value初始化它;

实例函数(方法)
var User = function(name, age) {
    this.name = name;
    this.age = age;
}

User.prototype = {
    getName: function() {
        return this.name;
    },

    setName: function(name) {
        this.name = name;
    }
}

用法示例:
var user = new User('Mike', 29);
user.setName('John');
alert(user.getName()); //should be 'John'

静态函数
var User = function(name, age) {
    this.name = name;
    this.age = age;
}

User.create = function(name, age) {
    return new User(name, age);
}

User.prototype = {}

08-15 20:27
查看更多