原型模式

用原型实例指向创建对象的类,适用于创建新的对象的类共享原型对象的属性以及方法。

JavaScript语言内部实现原型模式,在编程中使用函数的prototype共享方法就是原型模式。

function person (name){this.name = name;
}person.prototype.getName = function (){return this.name;
}function student(name){person.call(this, name);
}
sutdent.prototype = new person();let stu = new student('job');
stu.getName();

student函数并没有定义getName方法,但是却可以调用getName方法,就是因为student的原型是person实例,而person方法具有getName方法,其实例也具有getName方法,因此可以访问到getName方法。

原型模式的执行流程

  1. 先查找构造函数实例里的属性或方法,如果有,立刻返回
  2. 如果实例里没有就去原型中找

JavaScript设计模式——原型模式相关推荐

  1. javascript设计模式-原型模式(prototype pattern)

    为什么80%的码农都做不了架构师?>>>    简单的说就是基于一个创建好的对象作为一个模板(原型)来创建其他的对象. 通过Object.create()实现方式 // 1) Obj ...

  2. JavaScript设计模式系列—模式篇总结(上)

    转载请注明预见才能遇见的博客:http://my.csdn.net/ 原文地址:https://blog.csdn.net/pcaxb/article/details/102517956 JavaSc ...

  3. 设计模式 原型模式_创新设计模式:原型模式

    设计模式 原型模式 原型模式用于创建对象的副本. 这种模式非常有用,特别是当从头开始创建对象的成本很高时. 与builder , factory和abstract factory模式相比,它不会从头开 ...

  4. 设计模式 原型模式_设计模式:原型

    设计模式 原型模式 创新设计模式之一是原型设计模式 . 尽管原型是创造模式,但它在概念上与其他模式有所区别. 我的意思是原型在某种意义上创造了自己. 我将在下面解释. 原型模式的所有魔力都基于Java ...

  5. 设计模式 原型模式_原型设计模式:创建另一个小车

    设计模式 原型模式 创建对象确实是一个耗时的过程,也是一件昂贵的事情. 因此,我们现在正冒险节省时间和金钱. 我们该怎么做? 克隆奇迹多莉 有人记得多莉吗? 是的,是绵羊,是第一个被克隆的哺乳动物. ...

  6. Java常用设计模式————原型模式(一)

    介绍 原型模式(Prototype Pattern):用原型实例指定创建对象的种类,并通过拷贝这些原型创建新的对象. 原型模式用于创建重复的对象,同时又能保证性能.当直接创建对象的代价比较大时,则采用 ...

  7. 第六章 Caché 设计模式 原型模式

    文章目录 第六章 Caché 设计模式 原型模式 定义 使用场景 优点 结构图 描述 示例 初级写法 缺点 中级写法 缺点 高级写法 (浅复制) 浅复制 深复制 完整示例 简历类(复制类) 对象类(工 ...

  8. C++设计模式——原型模式(Prototype Pattern)

    C++设计模式--原型模式(Prototype Pattern) 微信公众号:幼儿园的学霸 目录 文章目录 C++设计模式--原型模式(Prototype Pattern) 目录 定义 代码示例 普通 ...

  9. 设计模式---原型模式(Prototype Pattern)

    在编程中有时候我们会发现,当我们需要一个实例,可是这个实例的创建过程十分复杂,在执行过程中 会消耗大量的时间,同时创建第一个实例和创建第二个时间的初始化信息并未改变.在此种情况下,直接New 一个实例 ...

最新文章

  1. java getqueue 0_【求助】Exception in threadAWT-EventQueue-0java.lang.Null
  2. 滴水穿石-05数组排序
  3. finalshell日志乱码问题_Tomcat乱码问题
  4. 基于图像处理的数码印花喷墨墨滴形状规范的研究(Python+OpenCV+Mysql)
  5. 推荐一个好库 热键监听 hotkeys-js
  6. idea 版本控制忽略文件、文件夹设置
  7. [JAVA] JAVA 类路径
  8. Java 基础知识 【钢镚核恒】
  9. 全国各地车牌代码整理出数据库表SQL Server
  10. arm应用程序之文件读写操作差异open与fopen
  11. 2021-06-08
  12. 微信屏蔽网址解决办法 如何恢复微信访问拦截 微信网页拦截怎么办
  13. wget网站镜像下载
  14. DataWhale数据挖掘学习--Task 2 数据分析
  15. UDS之浅谈11服务
  16. 原创小说 - 爱人失踪(第一部)
  17. anaconda 上实现Tensorflow MASK R-CNN Demo Windows (CPU版)
  18. 520 送女朋友礼物大全 (推荐男生收藏)
  19. 软件测试app内存溢出,浅析软件测试人员如何对JVM进行内存溢出检测
  20. Google Earth Engine 谷歌地球引擎常用快捷键相关搜集整理

热门文章

  1. Ubuntu安装教程图示
  2. wind7 cywind ssh 无密码登录localhost
  3. 关于研究纯净水安全监控问题
  4. 苏州大力支持电车发展,于2025年将建设20万个充电桩,能实现吗?
  5. JS replace()方法
  6. 显示器属于计算机的什么作用是什么情况,电脑显示器模糊是什么原因导致?电脑显示器模糊怎么办?...
  7. JAVA类加载与初始化顺序
  8. 正大国际期货:影响黄金价格的几大因素有哪些?
  9. 小米机器人虚拟墙设置_禁区功能让我不折腾!石头扫地机器人T6体验:虚拟墙也好用...
  10. Android中的内存泄漏和内存溢出