1.工厂模式
function createPerson(name,age,job){ var o=new Object(); o.name=name; o.age=age; o.job=job; o.sayName=function(){ alert(this.name); }; return o ; } var person1=createPerson("NIcholas",29,"Software Engineer"); var person2=createPerson("Greg",27,"Doctor");
工厂模式虽然解决了创建多个相似对象的问题,但却没有解决对象识别的问题。
2.构造函数模式
function Person(name,age,job){ this.name=name; this.age=age; this.job=job; this.sayName=function(){ alert(this.name); }; } var person1=Person("NIcholas",29,"Software Engineer"); var person2=Person("Greg",27,"Doctor");
区别:
没有显式地创建对象
直接将属性和方法赋给了this对象
没有return语句
3.原型模式
//待续