美文网首页
原型与原型链

原型与原型链

作者: longqinusi | 来源:发表于2019-02-20 22:23 被阅读0次

原型: 每个javascript对象都有一个原型对象,这个对象在不同的解释器下的实现不同。比如在Chrome下,每个

对象都有一个隐藏的__proto__属性,这个属性就是“原型对象”的引用。

原型链: 原型链是一种实例对象和原型对象之间的关系,关系是通过原型(__proto__)来联系的。

    实例对象的原型__proto__指向的是该对象所在的构造函数的原型对象。

    只要是对象,那么就有__proto__,而这个__proto__一定指向的是某个构造函数的原型(prototype)。

    而对象的构造函数的原型对象也有一个__proto__,指向为Object的原型(prototype),而Object的原型对象的           __proto__是null。

    构造函数的原型对象(prototype)指向如果改变了,实例丢向的原型(__proto__)指向也会发生改变。

    实例对象和原型对象之间的关系是通过__proto__原型来联系起来的,这个关系就是原型链。

图1

图1中的1即Nunber自带的__proto__属性,同时在__proto__属性下还存在着一个__proto__属性指向Object的prototype。这样即形成了一条原型链。

当 new 一个函数的时候会创建一个对象,函数.prototype === 被创建对象.__proto__

一切函数都是由 Function 这个函数创建的,所以『Function.prototype === 被创建的函数.__proto__

一切函数的原型对象都是由 Object 这个函数创建的,所以『Object.prototype === 一切函数.prototype.__proto__』

由于所有的实例对象共享同一个prototype对象,那么从外界看起来,prototype对象就好像是实例对象的原型,而实例对象则好像"继承"了prototype对象一样。

任何函数都是 Function 创建,所以Function 创建了 Function,所以 Function.prototype === Function.__proto__;

Object 也是函数。所以Function创建了Object,所以 Function.prototype === Object.__proto__ ;

Function.prototype 是普通对象,普通对象是由Object创建的,所以 Function.prototype.__proto__ === Object.prototype

  

相关文章

  • JavaScript 原型、原型链与原型继承

    原型,原型链与原型继承 用自己的方式理解原型,原型链和原型继承 javascript——原型与原型链 JavaSc...

  • 2019-01-28

    原型与原型链

  • 廖雪峰JS小记

    (function(){})() 原型,原型链 浅谈Js原型的理解JS 原型与原型链终极详解 对象 对象:一种无序...

  • Javascript(三)之原型继承理解

    进阶路线 3 原型继承 3.1 优秀文章 最详尽的 JS 原型与原型链终极详解 一 最详尽的 JS 原型与原型链终...

  • JavaScript 面向对象第一篇

    1.原型链 ---- (实例对象与原型之间的连接 叫做原型链) 2. hasOwnproperty ----(看是...

  • 原型与原型链以及继承

    今天复习下原型与原型链的知识,以及记录新学的继承知识点。 知识点纲要 原型与原型链 es5与es6继承 什么是原型...

  • JavaScript深入理解this关键字(一)

    摘要 最近在公司需要做培训,我打算把JavaScript中的原型与原型链讲给大家。但我在梳理原型与原型链的时候发现...

  • js_继承及原型链等(四)

    js_继承及原型链等(三) 1. 继承 依赖于原型链来完成的继承 发生在对象与对象之间 原型链,如下: ==原型链...

  • 原型链&instanceof关键字

    1.原型链&instanceof关键字 简单说明 原型链 与 instanceof 作用原理 1.原型链 1...

  • 原型、原型链

    (什么是原型、原型链?有什么作用) JavaScirpt深入之从原型到原型链 图解 Javascript 原型链 ...

网友评论

      本文标题:原型与原型链

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