标签:
一、工厂模式
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‘);
工厂模式虽然解决了创建多个对象的问题,但却没有解决对象识别的问题(即怎样知道一个对象的类型)。
二、构造函数模式
function Person(name,age,job){
this.name=name;
this.age=age;
this.job=job;
this.sayName=function(){
alert(this.name);
};
}
var person1=new Person(‘Nicholas‘,29,‘Software Engineer‘);
var person2=new Person(‘Greg‘,27,‘Doctor‘);
与工厂模式相比:
1.没有显示地创建对象
2.直接将属性和方法赋给了this对象
3.没有return语句
标签:
原文地址:http://www.cnblogs.com/YangqinCao/p/5427536.html