JS高級---工廠模式建立對象和自定義構造函數建立對象的區別

建立對象:工廠模式和自定義構造函數的區別

共同點: 都是函數, 均可以建立對象, 均可以傳入參數
 
區別:
 
工廠模式:
  1.   函數名是小寫
  2.   有new,
  3.   有返回值
  4.   new以後的對象是當前的對象
  5.   直接調用函數就能夠建立對象
    //工廠模式建立對象
    function createObject(name, age) {
      var obj = new Object();
      obj.name = name;
      onj.age = age;
      obj.sayHi = function () {
        console.log("您好");
      };
      return obj;
    }
    var per2 = createObject("小明", 20);

 

自定義構造函數:
  1.   函數名是大寫(首字母)
  2.   沒有new
  3.   沒有返回值
  4.   this是當前的對象
  5.   經過new的方式來建立對象
    //自定義構造函數建立對象
    function Person(name, age) {
      this.name = name;
      this.age = age;
      this.sayHi = function () {
        console.log("您好");
      };
    }
    var per1 = new Person("小紅", 20);
相關文章
相關標籤/搜索