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);
相关文章
相关标签/搜索