欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JS高级---工厂模式创建对象和自定义构造函数创建对象的区别

程序员文章站 2022-05-26 17:44:14
创建对象:工厂模式和自定义构造函数的区别 共同点: 都是函数, 都可以创建对象, 都可以传入参数 区别: 工厂模式: 函数名是小写 有new, 有返回值 new之后的对象是当前的对象 直接调用函数就可以创建对象 //工厂模式创建对象 function createObject(name, age) ......

创建对象:工厂模式和自定义构造函数的区别

共同点: 都是函数, 都可以创建对象, 都可以传入参数
 
区别:
 
工厂模式:
  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);