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("Jackey",24,"software engineer");
函数createPerson()能够根据接受的参数来构建一个包含所有必要信息的person对象,可以无限次数地调用这个
函数,而每次它都返回一个包含3个属性一个方法的对象。工厂模式虽然解决了创建多个相似对象的问题,但是没有解决对象识别的问题(即怎样知道一个对象的类型)。所以构造函数模式出现了
2 构造函数模式
functiuon Person(name,age,job){
this.name = name;
this.age = age;
this.job = job;
this.sayName = function(){
alert(this.name);
};
}
var person = new Person("Jackey",24,"");
(1) 创建一个新对象
(2) 将构造函数的作用域付给新对象(因此this就指向了这个新对象)
(3) 执行构造函数中的代码
(4)返回新对象
3 原型模式
function Person(){}
Person.prototype.name = ""Jackey;
Person.prototype.age = 29;
Person.prototype.job = "";
Person.prototype.sayName = function(){};
var person = new Person();待续....