javascript 创建对象

// 方法一
var person = new Object();
person.name = "Jerry";
person.age = 24;
person.job = "Software Engineer";
person.sayName = function() {
    alert(this.name);
};

// 方法二
var person = {
    name : "Jerry",
    age : "24",
    job : "Software Engineer",
    sayName : function() {
        alert(this.name);
    }
};

// 方法三
function createPerson(name, age, job) {
    var p = new Object();
    p.name = name;
    p.age = age;
    p.job = job;
    p.sayName = function() {
        alert(this.name);
    };
    return p;
}
var person = createPerson("Jerry", 24, "Software Engineer");

// 方法四
function Person(name, age, job) {
    this.name = name;
    this.age = age;
    this.job = job;
    this.sayName = function() {
        alert(this.name);
    };
}
var person = new Person("Jerry", 24, "Software Engineer");

// 方法五
function Person() {
}
Person.prototype.name = "Jerry";
Person.prototype.age = 24;
Person.prototype.job-= "Software Engineer";
Person.prototype.sayName = function() {
    alert(this.name);
};
var person = new Person();

// 方法六
function Person() {
}
Person.prototype = {
    constructor : Person,
    name : "Jerry",
    age : 24,
    job : "Software Engineer",
    sayName : function() {
        alert(this.name);
    }
};
var person = new Person();

// 方法七:推荐
function Person(name, age, job) {
    this.name = name;
    this.age = age;
    this.job = job;
}
Person.prototype = {
    constructor : Person,
    sayName : function() {
        alert(this.name);
    }
};
var person = new Person("Jerry", 24, "Software Engineer");

// 方法八:推荐
function Person(name, age, job) {
    this.name = name;
    this.age = age;
    this.job = job;
    if(typeof this.sayName != "function") {
        Person.prototype.sayName = function() {
            alert(this.name);
        }
    }
}
var person = new Person("Jerry", 24, "Software Engineer");

  

原文地址:https://www.cnblogs.com/tongqj/p/4068952.html