该文是本人对原型和原型链的个人理解,若有错,请指出。
原型
原型:每个构造函数都有一个prototype属性,该属性指向一个object空对象,这个对象就是函数实例的原型对象(也称为原型)。

原型作用:在构造函数的原型上添加属性(方法),则该构造函数的所有实例对象都可以使用原型上的属性(方法)
隐式原型:每个实例对象都有一个__proto__属性,该属性默认指向构造函数的prototype属性,该属性就是隐式原型。
原型与隐式原型的关系:相等(因为它们存放的值都是地址值,而它们存放的地址值相同,所以构造函数的原型===实例对象的隐式原型)
构造函数.prototype === 实例对象.proto            //true

由上图左侧代码及右侧图示,假设Fn的实例对象fn要调用方法1,首先在当前实例化对象中查找,找不到,则通过__proto__属性,找到构造函数的原型,从中调用方法1这种。
原型链
所以原型链的定义就是:当访问一个对象的属性(方法)时,先在自身对象中进行查找,若自身对象没有该属性(方法),就通过__proto__属性这条链往上查找,找到返回,若最终没有该属性(方法),则返回undefined,这个串成链的过程就是原型链。
原型链的作用:查找对象的属性(方法)
以下是有关原型链的图示:
图源:https://www.bilibili.com/video/BV14s411E7qf?p=17

简述JS原型、原型链相关推荐

  1. 简述js原型链_简述js

    简述js原型链 (在React 16.8.0之前)((before React 16.8.0)) Yeah, I know that there are terabytes of data avail ...

  2. JS难点剖析-原型原型链

    2019独角兽企业重金招聘Python工程师标准>>> js的原型&原型链&闭包,在很多人看来是区分JS程序员水平的关键知识点,当然对这句话我不是十分赞同.但是掌握这 ...

  3. js原型和原型链_初识JS原型/原型链/原型继承

    本文思路: 原型->原型链->原型继承->基于原型的继承/ES6中的继承->__proto__与prototype 首先我们知道JS中有对象,比如: var 但是在我们没有对这 ...

  4. 怎么理解js的原型链继承?

    前言 了解java等面向对象语言的童鞋应该知道.面向对象的三大特性就是:封装,继承,多态. 今天,我们就来聊一聊继承.但是,注意,我们现在说的是js的继承. 在js的es6语法出来之前,我们想实现js ...

  5. js的原型链简单理解

    js的原型链 首先,在将js的原型链之前我们先来说一下什么是原型,当我们生成一个普通对象x的时候,这个x会有一个隐藏属性x._proto_,这个属性会指向Object.prototype也就是 x._ ...

  6. 深入学习js之——原型和原型链

    开篇: 在Brendan Eich大神为JavaScript设计面向对象系统的时候,借鉴了Self 和Smalltalk这两门 基于原型的语言,之所以选择基于原型的面向对象系统,并不是因为时间匆忙,它 ...

  7. JavaScript——原型/原型链中的顶层对象(图解)

    本篇需要提前了解的知识储备:原型和原型链,以下仅概要介绍,不作详细讲解. 详细学习可参考: JavaScript--面向对象(封装):https://blog.csdn.net/qq_29493173 ...

  8. JS - 11 - 原型、继承 -

    感谢:https://www.bilibili.com/video/av78687689?p=2 笔记 文章目录 waht? 原型 # 原型方法.对象方法的优先级 # 函数 的原型 原型 关系 . 属 ...

  9. PHP中的__toString方法(实现JS里的链式操作)

    _toString方法是在打印对象时自动调用的魔术方法,如果不声明会报以下错 Catchable fatal error: Object of class String could not be co ...

最新文章

  1. SpringMVC入门案例
  2. zedgraph支持游标吗_经典格斗游戏中的隐藏人物,当年在游戏厅你能选出来吗
  3. php新手最容易犯的错误,学习PHP过程中容易犯的一些错误
  4. SWFKit 3.5 + 注册机
  5. boost::hana::intersperse用法的测试程序
  6. 算法工程师实习岗面试题(part1)
  7. python的类和实例_Python 面向对象编程——类和实例
  8. Qt文档阅读笔记-Q_CLASSINFO官方解析与实例
  9. 计算特征矩阵及哈希值(含OpenCV代码)
  10. 两边填上相同的数_二年级必考题,在括号里填上相同的数~
  11. 【虚拟化】支持IDE/SATA/SCSI
  12. 从RedHat到MongoDB,开源商业软件是如何占领世界的
  13. Embedding技术在商业搜索与推荐场景的实践
  14. 【1131】C/C++经典程序训练1---最大公约数与最小公倍数
  15. Scrapy基础(八)————图片下载后将本地路径添加到Item中
  16. matlab绘图和python绘图
  17. c++ 位运算 和 掩码
  18. Inno Setup 详解中文资料
  19. 炫酷网站模板,css,html
  20. HTML渐变背景不重复,CSS背景渐变重复问题

热门文章

  1. 计算机班徽设计图案大全,班徽
  2. 情人节这天晚上,前任、单身狗和情侣们都在干啥?
  3. 关于分布式存储系统中-CAP原则(CAP定理)与BASE理论比较
  4. 超详细JDK1.8安装与配置
  5. 教你同时分析优速多个已签收单号的物流信息
  6. 使用Vue 简化 用户查询/添加功能
  7. jsp里照片放在哪里_拍摄婚纱摄影照片,怎么摆姿势?
  8. 对迁移学习中域适应的理解和3种技术的介绍
  9. 内容营销管理软件推荐
  10. 模拟滚动电子显示屏(自定义文本、置顶、透明度、颜色、速度、位置等)