工廠模式

雖然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);

缺點

雖然解決了創建多個相似對象的問題,但無法解決對象識別的問題,即無法知道具體對象的類型

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容