J S函数中的工厂模式

虽然Object构造函数或对象字面量都可以用来创建单个对象,但这些方式有个明显缺点:使用同一个借口创建很多对象,会产生大量的重复代码。为解决这一个问题,人们开始使用工厂模式的一种变体。

这种模式抽象了创建具体对象的过程,考虑到ECMAScript中无法创建类,开发人员就创建了一种函数,用函数来封装以特定接口创建对象的细节,如下:

function creatPerson(name,age,job){

var  o=new Object(0;

o.name=name;

o.age=age;

o.job=job;

o.sayName=function(){

alert(this.name)

      };

    return 0;

}

var person1=creatPerson("xiaoming",19,"softEngineer");

var person2=creatPerson("xiaohong",16,"Doctor")

函数creatPerson()能够根据接受的参数来构建一个包含所有必要信息的Person对象。可以无数次的调用这个函数,而每次它都会返回一个包含三个属性一个方法的对象。工厂模式虽然解决了创建多个相似对象的问题,但却没有解决对象识别的问题(即怎样知道一个对象的类型。)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容