美文网首页
构造函数和工厂函数

构造函数和工厂函数

作者: 青乌 | 来源:发表于2020-08-15 20:14 被阅读0次

区分工厂函数和构造函数。

工厂函数

function people(name,sex){
  let obj = new Object();
  obj.name = name;
  obj.sex = sex;
  obj.saySex=fuction(){
     alert(`${this.name}的性别是${this.sex}`)
  }
  return obj;
}

let people1 = people('小明', '男')
let people2 = people('小颖', '女')

构造函数

function people(name,sex){
  this.name = name;
  this.sex = sex;
  this.saySex=fuction(){
     alert(`${this.name}的性别是${this.sex}`)
  }
}

let people1 = new people('小明', '男')
let people2 = new people('小颖', '女')

console.log(people1 instanceof people) //true
console.log(people2 instanceof people) //true

两者书写上的不同:

  • 工厂函数创建了对象Object
  • 工厂函数多了return obj
  • 构造函数用this取代对象

含义上的区别:

  • 工厂函数创造了两个人,但他们无法确认是不是同一类
  • 构造函数能够判断两个人都同属于people

构造函数为之后应用的所有对象都挂上了属性,有了属性就做了分类,就不仅仅只是对象了。就可以创造更多分类,人、动物等等的不同类。这也是构造函数最大的优势。

相关文章

  • 构造函数和工厂函数

    区分工厂函数和构造函数。 工厂函数 构造函数 两者书写上的不同: 工厂函数创建了对象Object 工厂函数多了re...

  • Flutter 6种构造函数详解

    Flutter有生成构造函数、默认构造函数、命名构造函数、重定向构造函数、常量构造函数、工厂构造函数 一.生成构造...

  • 工厂函数(factory)与构造函数(constructor)

    工厂函数(factory) 使用工厂函数新建对象: 构造函数(constructor) 使用构造函数创建新对象: ...

  • js总结(1)

    1.对象创建方式:直接量,工厂模式,构造函数模式 2.构造函数模式和工厂模式的区别:构造函数名首字母大写,与工厂模...

  • 对象的创建与继承

    创建对象 工厂模式 => 构造函数模式 => 原型对象模式 => 构造函数模式+原型对象模式 工厂模式 构造函数模...

  • 第六章——创建对象

    一、寄生构造函数模式、工厂模式、稳妥构造函数模式的区别与联系 寄生构造函数模式(重写了构造函数的返回值): 工厂模...

  • 前端面试题总结【37】:javascript对象的几种创建方式

    工厂模式 构造函数模式 原型模式 混合构造函数和原型模式 动态原型模式 寄生构造函数模式 稳妥构造函数模式 推荐:...

  • JS常见设计模式

    常见的一些设计模式 构造函数模式(Constructor) 工厂模式(factory) 工厂模式和构造函数模式每次...

  • 2020-12-15

    js对象的创建和函数 创建对象 工厂模式 构造函数 原型方式+构造函数

  • JS-进阶-Day1

    创建对象 的三种方式: 工厂模式和自定义构造函数的区别: 构造函数和实例对象之间的关系: 原型的引入 构造函数和实...

网友评论

      本文标题:构造函数和工厂函数

      本文链接:https://www.haomeiwen.com/subject/mzoadktx.html