工廠模式建立物件和自定義建構函式建立物件的異同

一宅發表於2019-03-01

自定義函式

 function Person(name, age) {
      this.name = name;
      this.age = age;
      this.sayHi = function () {
        console.log("你好");
      }
    }
複製程式碼

工廠模式 : 是32種設計模式的其中一種

function createObj(name, age) {
      var obj = new Object();
      obj.name = name;
      obj.age = age;
      obj.sayHi = function () {
        console.log("你好");
      }

      return obj;
    }
複製程式碼

相同點:

1.都可以建立物件
2.都有引數
3.都是函式

不同點:

自定義函式:
1.函式名首字母大寫
2.沒有new
3.沒有返回值
4.this指向當前物件
5.需要new才能建立物件


工廠模式的特點:
1.函式名按照小駝峰命名法
2.有new
3.有返回值
4.返回的就是當前物件
5.不需要new 直接呼叫方法 就能建立物件

複製程式碼

相關文章