在自定义类型中,最常用的方式就是原型模式和构造函数模式组合。
构造函数模式用于定义实例属性,原型模式用于定义方法和共享属性。
演示代码:
function Person(name,age,job){
this.name=name;
this.age=age;
this.job=job;
this.friends = ["lili","panpan"];
}
Person.prototype={
constructor : Person,
sayName : function(){
alert(this.name);
}
}
var person1=new Person("haha",23,"Software Engineer");
var person2=new Person("ada",18,"doctor");
person1.friends.push("Van");
alert(person1.friends);
alert(person2.friends);
alert(person1.friends === person2.friends );
alert(person1.sayName === person2.sayName );