一。
虽然Object构造函数或对象字面量都可以用来创建单个对象,但这些方式有个明显的缺点:使用同一个接口创建很多对象,会产生大量的重复代码,为解决这个问题,可以使用工厂模式的一种变体。
二。
ECMAScript中无法创建类,开发人员发明了一种函数,用函数来封装以特定接口创建对象的细节,如下所示。
function createPerson(name,age,job){
var o=new Object();
o.name=name;
o.age=age;
o.job=job;
o.sayName=function(){
console.log(this.name);
};
return o;
}
var person1=createPerson("Nic",29,"soft");
var person2=createPerson("greg",27,"Doc");
函数createPerson()能够根据接收的函数来创建一个包含所有必要信息的Person对象。可以无数次地调用这个函数,而每次它都会返回一个包含三个属性一个方法的对象。