首页 > 代码库 > 函数创建对象(3)组合使用构造函数模式和原型模式

函数创建对象(3)组合使用构造函数模式和原型模式

构造函数模式用于定义实例属性;原型模式用于定义方法和共享的属性。好处:每个实例都有自己的实例属性副本,同时有共享方法的引用,节省了内存;支持向构造函数传递参数。

function Person(name,age,job){          this.name=name;          this.age=age;          this.job=job;          this.friends=["shelby","Court"];}Person.prototype={        contructor:Person,        sayName:function(){             alert(this.name);   }}var person1=new Person("Nicholas",29,"Engineer");var person2-new Person("Greg",27,"Doctor");person1.friends.push(‘“Van”);alert(person1.friends);//Shely,Count,Van;alert(person2.friends);//Shely,Count;alert(person1.friends===person2.friedns);//false;alert(person1.sayName===person2.sayName);//true;

 似乎是定义引用类型的默认模式。

函数创建对象(3)组合使用构造函数模式和原型模式