JavaScript创建对象的默认方式:组合使用构造函数模式和原型模式
由于 JavaScript中没有类,对象充当着一系列集合的模板,包含着属性和方法,而每个对象中也有一个原型对象,可以存放共享方法和属性 。
创建自定义类型的最常见方式,就是组合使用构造函数模式与原型模式。构造函数模式用于定义实
例属性,而原型模式用于定义方法和共享的属性
//组合使用构造函数模式(构造函数设置自己的属性)和原型模式(原型设计那些共享的方法和属性)
function Person(name,age,job){
this.name=name;
this.age=age;
this.job=job;
this.item=['jay','kobe','tom'];
}
//原型 存放共享的方法和属性
Person.prototype={
constructor:Person,
sayName:function(){
alert(this.name);
}
}
var person1 = new Person("Nicholas", 29, "Software Engineer");
var person2 = new Person("Greg", 27, "Doctor");
person1.item.push('cat');
alert(person1.item);
alert(person2.item);
alert(person1.item==person2.item);
alert(person1.sayName==person2.sayName);