工厂模式

虽然Object构造函数和对象字面量都可以创建单个对象,但这个方式有个明显的缺点:使用同一个接口创建很多对象,会产生大量重复代码。

优点

用函数封装以特定接口创建对象的细节,使用一个接口,能同时创建多个相似对象

示例

var createPerson = function(name, age) {
  var obj = new Object();

  obj.name = name;
  obj.age = age;
  obj.sayName = function() {
    return this.name;
  };

  return obj;
};

var person1 = createPerson('duke', 22);
var person2 = createPerson('dome', 24);
var person3 = new createPerson('dome3', 24);
console.log('person1=>', person1);
console.log('person2=>', person2);
console.log('person3=>', person3);

缺点

虽然解决了创建多个相似对象的问题,但无法解决对象识别的问题,即无法知道具体对象的类型

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

推荐阅读更多精彩内容