使用自定义构造函数创建对象

         function Person(name,age){this.name=name;this.age=age;this.play=function(){console.log("hhh")}}//创建对象-----对对象进行初始化var per=new Person("小红",17);per.play()

总结步骤:
1、开辟空间存储对象
2、把this设置为当前的对象
3、设置属性和方法的值
4、把this对象返回

使用工厂模式创建对象

         function createObject(name,age){var obj=new Object();obj.name=name;obj.age=age;obj.play=function(){console.log("hhhh")}return obj}var per1=createObject("小红",13)
根据以上就能看出来,它们的共同点都是函数,都可以创建对象,都可以传入参数

不同点是:

工厂模式:

1、函数名是小写
2、有返回值
3、new之后的对象是当前的对象
4、直接调用函数创建对象

自定义构造函数:

1、函数名是大写
2、没有返回值
3、this是当前的对象
4、通过new的方式来创建对象

但平时创建对象的话都会用自定义构造函数来创建

js的自定义构造函数和工厂模式的区别相关推荐

  1. 课程介绍 复习 创建对象的三种方式 自定义构造函数创建对象 工厂模式创建对象

    课程介绍 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8 ...

  2. 设计模式---5(建造者模式的概念及其实现,建造者模式的角色与职责,建造者模式和工厂模式的区别)

    建造者模式 建造者模式的概念 Builder 模式也叫建造者模式或者生成器模式,是由 GoF 提出的 23 种设计模式中的一种. Builder 模式是一种对象创建型模式之一,用来隐藏复合对象的创建过 ...

  3. 策略模式和工厂模式的区别

    文章目录 策略模式和工厂模式的区别 相似点 差异 用途不一样 关注点不一样 UML图 实例 策略模式和工厂模式的区别 相似点 在模式结构上,两者很相似: 差异 用途不一样 工厂是创建型模式,它的作用就 ...

  4. 建造者模式浅谈 与工厂模式的区别

    感谢您的阅读.如果感觉文章对您有用,麻烦您动动手指点个赞,以资鼓励.谢谢! 转载请注明出处哈 建造者模式浅谈 与工厂模式的区别_茄子_土豆的博客-CSDN博客_建造者模式和工厂模式的区别 创建对象时构 ...

  5. IOC和工厂模式的区别

    Spring的IOC和工厂模式的区别 IOC是使用了反射的技术来动态的生成对象 工厂模式的对象生成是提前在工厂类中定死的 IOC更加灵活 IoC--Inversion of Control 控制反转 ...

  6. js原生设计模式——3简单工厂模式\简单工厂模式封装简单对象

    1.Factory基本写法 <!DOCTYPE html> <html lang="en"> <head>     <meta chars ...

  7. 工厂方法模式与抽象工厂模式的区别

    工厂方法模式: 一个抽象产品类,可以派生出多个具体产品类. 一个抽象工厂类,可以派生出多个具体工厂类. 每个具体工厂类只能创建一个具体产品类的实例. 抽象工厂模式: 多个抽象产品类,每个抽象产品类可以 ...

  8. 021 设计模式之工厂方法模式,抽象工厂模式的区别

    简单工厂模式,工厂方法模式和抽象工厂模式的异同 简单工厂模式,工厂方法模式和抽象工厂模式都是属于创建型设计模式,这三种创建型模式都不需要知道具体类.我们掌握一种思想,就是在创建一个对象时,需要把容易发 ...

  9. 策略模式和工厂模式的区别_设计模式之工厂模式-工厂方法模式

    设计模式之工厂模式-工厂方法模式 大家好,欢迎来到污污弹公司,今天司小司又接到了一个新活-披萨项目. 来源:凯哥Java(kaigejava) 需求: 披萨项目: 要方便披萨品种的扩展.要便于维护.要 ...

最新文章

  1. u盘循环冗余能修复吗_古董修复能修复吗?-恩平 - 商业服务
  2. 算法系列15天速成——第十天 栈
  3. 完整的由客户端登录(注册)思路
  4. Dos 中实现else if 功能
  5. Anaconda是什么?Anconda下载安装教程 - Python零基础入门教程
  6. Delphi – 我的代码之简单五子棋
  7. Java爬取糗百段子
  8. 51单片机汇编学习例程(6)——74HC573数码管篇
  9. c语言中calloc是什么意思,calloc(c语言calloc是什么意思)
  10. 千寻位置48小时“复活”伽利略卫星定位系统
  11. linux nginx进程占用80端口杀不掉
  12. python语言属于科学计算语言吗_python语言属于( )
  13. 为何中国移动的上网速度最慢,无阻它成为最大运营商?
  14. 复习七天通过软考高级「系统架构师」,我是如何做到的
  15. 【阴阳师】真蛇10层记录
  16. python识别文字软件_【Python 教程】使用 Python 和大漠插件进行文字识别
  17. 二叉树遍历方式-先序、中序、后序和层序遍历(JAVA)
  18. 【MySql 数据库综合练习01 】
  19. 专访阿里云高级技术专家吴威:Kafka、Spark和Flink类支持流式计算的软件会越来越流行...
  20. HTML - label标签

热门文章

  1. 一文看懂网上下单的手机流量卡为什么归属都是随机的!
  2. Keil中代码的颜色设置
  3. 使用ChatGPT可以下载全景图
  4. 蓝思科技2018年净利润达7亿元 同比下降65.59%
  5. 远程桌面连接出现 CredSSP 加密Oracle修正 错误
  6. 颜值测试软件99分,心理学:第一眼看到了什么,测你的真实颜值多少分?我居然99分...
  7. python绘制彩虹花_在python的pygame设置彩虹弦:使用汉字变量及代码分析
  8. window下安装git flow
  9. 电源引脚VDD、VSS、VDDA、VSSA、VREF+、VREF-、VBAT
  10. 杰里之AD150 VBAT 检测【篇】