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");
考虑到 JavaScript 中无法创建类,用特定的函数来封装以特定接口创建对象的细节。
工厂模式的优点:解决了创建多个相似对象的问题。
工厂模式的缺点:没有解决对象识别的问题(即知道一个对象的类型)。