这个思维导图是我对Object,原型,原型链等知识的总结,主要参考高程一书第六章,写完才发现这么多,以后可能会进行精简。内容可能会出现差错,欢迎批评指正。下载==>Github

ECMAScript支持面向对象(OO)编程,但不使用类或者接口。对象可以在代码执行过程中创建和增强,因此具有动态性而非严格定义的实体。在没有类的情况下,可以采用下列模式创建对象。

  • 工厂模式,使用简单的函数创建对象,为对象添加属性和方法,然后返回对象。这个模式后来被构造函数模式所取代。
  • 构造函数模式,可以创建自定义引用类型,可以像创建内置对象实例一样使用new操作符。不过,构造函数模式也有缺点,即它的每个成员都无法得到复用,包括函数。由于函数可以不局限于任何对象(即与对象具有松散耦合的特点),因此没有理由不在多个对象间共享函数。
  • 原型模式,使用构造函数的prototype属性来指定那些应该共享的属性和方法。组合使用构造函数模式和原型模式时,使用构造函数定义实例属性,而使用原型定义共享的属性和方法。

  JavaScript主要通过原型链实现继承。原型链的构建是通过将一个类型的实例赋值给另一个构造函数的原型实现的。这样,子类型就能够访问超类型的所有属性和方法,这一点与基于类的继承很相似。原型链的问题是对象实例共享所有继承的属性和方法,因此不适宜单独使用。解决这个问题的技术是借用构造函数,即在子类型构造函数的内部调用超类型构造函数。这样就可以做到每个实例都具有自己的属性,同时还能保证只使用构造函数模式来定义类型。使用最多的继承模式是组合继承,这种模式使用原型链继承共享的属性和方法,而通过借用构造函数继承实例属性。此外,还存在下列可供选择的继承模式。

  • 原型式继承,可以在不必预先定义构造函数的情况下实现继承,其本质是执行对给定对象的浅复制。而复制得到的副本还可以得到进一步改造。
  • 寄生式继承,与原型式继承非常相似,也是基于某个对象或某些信息创建一个对象,然后增强对象,最后返回对象。为了解决组合继承模式由于多次调用超类型构造函数而导致的低效率问题,可以将这个模式与组合继承一起使用。
  • 寄生组合式继承,集寄生式继承和组合继承的优点与一身,是实现基于类型继承的最有效方式。

转载于:https://www.cnblogs.com/dianli/p/9527249.html

JavaScript对象、原型、原型链知识总结思维导图相关推荐

  1. < JavaScript基础知识 之 思维导图 >

    文章目录 前言 一.Javascript变量 二.Javascript运算符 三.Javascript数组 四.Javascript流程语句 五.Javascript字符串函数 六.Javascrip ...

  2. 多元函数概念思维导图_高等数学 多元函数微分学 知识技巧思维导图 [21考研上岸之旅]...

    Hello World,我的朋友,这里是一颗小白蛋,大千世界,很高兴以这样的方式与你相遇 前言 好久不见,这一次给大家带来考研高数的中多元函数微分学的相关内容. 2021张宇基础30讲 +2020汤家 ...

  3. 四元数插值方法Slerp/Squad/Spicv/Sping知识总结思维导图

    四元数插值方法Slerp/Squad/Spicv/Sping知识总结思维导图 最近在学习思维导图,闲来无事,就把之前写过的博客,四元数插值方法Slerp.Squad.Spicv和Sping知识点总结整 ...

  4. 个人知识体系思维导图_“知识体系”打得好,学霸孩子跑不了,巧用“思维导图”来帮忙...

    文章纯属原创,版权归本作者所有,欢迎个人转发分享. 相信很多妈妈都会看见孩子学习学不进去的苦恼,孩子看着很用功,每天按时完成作业.做练习题,但是成绩就是一直上不去,还会出现成绩不升反降的情况.这成了许 ...

  5. Java知识汇总——思维导图

    Java知识汇总--思维导图 Java知识点汇总,从基础到常用的API.还有常用的集合类,总结的很详细.图片是从论坛里面找到的,整理下来以便常复习.这是目前看到的比较详细完整的思维导图. 1.Java ...

  6. 前端知识体系思维导图

    前端知识体系思维导图 前言 hello大家好,我是"风不识途",本文是想分享一下,笔者在自学前端时所学到的知识,总结的思维导图(并不包含前端所有知识点),很多都是结合自己的笔记来进 ...

  7. CISP知识大纲思维导图

    CISP知识大纲思维导图

  8. 高等数学 极限与连续 知识技巧思维导图 [21考研上岸之旅]

    Hello World,我的朋友,这里是一颗小白蛋,大千世界,很高兴以这样的方式与你相遇 前言 好久不见,本颗白蛋没有忘记学习分享,这一次给大家带来考研高数的知识技巧总汇图. 2021张宇基础30讲 ...

  9. 高等数学思维导图_高等数学 极限与连续 知识技巧思维导图 [21考研上岸之旅]...

    Hello World,我的朋友,这里是一颗小白蛋,大千世界,很高兴以这样的方式与你相遇 前言 好久不见,本颗白蛋没有忘记学习分享,这一次给大家带来考研高数的知识技巧总汇图. 2021张宇基础30讲 ...

最新文章

  1. Java对象容器——Hash表/散列表
  2. 编程实现将一个N进制数转换成M进制数
  3. Windows 7备份、还原功能详解
  4. “钉钉打卡神器”开发者被判五年半!
  5. flutter闪屏过渡动画,闪光占位动画
  6. python打开文件报错无效序列_解决Python 写文件报错TypeError的问题
  7. Linux下安装mongodb详细过程
  8. C#曲线分析平台的制作(二,echarts前后台数据显示)
  9. 拜托,面试别再问我TopK了!!!
  10. elementui的横向滚动_记一次element-ui配置化table组件的适应性问题(横向滚动条)...
  11. 安徽宣城职业技术学院引入USB Server远程管理加密狗
  12. VCF 文件 格式 详解
  13. 基于MAE的人脸素描图像属性识别和分类
  14. 微信小程序:for循环与if判断
  15. 国产linux凝思4.2系统多网卡指定路由配置
  16. 小清新业务汇报PPT模板
  17. linux基础命令归纳(可读性高,易上手)
  18. PCB上邮票孔的添加方式,你真的做对了吗……
  19. 企业管理计算机软件有哪些加盟,国内有哪些会经常用到的企业管理软件?
  20. 解决“**无法访问,你可能没有权限使用网络资源,请与管理员联系,拒绝访问!

热门文章

  1. Redhat 打开防火墙某个端口
  2. 嵌入式linux 分区挂载,嵌入式linux系统的开发——文件系统的分区和挂载
  3. mysql错误1451_mysql错误代号-J(1451~1494)
  4. Wi-Fi信号满格网速就一定快吗?
  5. 这是阿里技术专家对 SRE 和稳定性保障的理解
  6. hive 表存储大小_Hive中文件存储格式及大小比较测试
  7. 建行参考码大全ybla_52度五粮液价格表大全 不同系列价钱盘点
  8. mysql索引数据结构图解_深入理解Mysql索引底层数据结构与算法
  9. html标题电脑快速输入,快速把纸上文字输入到电脑中的技巧
  10. ftp 工具_ftp,ftp工具哪个好用