美文网首页前端开发那些事
原型链以及方法执行顺序

原型链以及方法执行顺序

作者: Nice先生的狂想曲 | 来源:发表于2019-10-17 23:59 被阅读0次

前言

快节奏的世界,大家都想要快,因此我把构造函数与原型链分文章说明。
想具体了解构造函数与原型、原型链之间的关系可以结合另一篇文章
构造函数和原型及两者作用

本文章说明原型链中的关系


构造函数、函数原型与实例对象原型的关系——图解

构造函数、原型对象与对象原型的关系

定论

  1. 任何对象必有__ proto __属性.(包括简单类型对象,var i=1;)
    特例:(Object.prototype属性对象)和(Object对象.proto属性对象)没有proto属性.
  2. 任何函数必有prototype原型对象

此时,由第一个定论,函数的原型对象一定存在 __ proto __属性,那么在原型链里面,存在一个Object函数,而函数的原型对象的 __ proto __指向的是Object函数对象的prototype

Person.prototype.__ proto __===Object.prototype

由因为Object.prototype是Object的原型对象,因此它的construtor指向Object本身,即

Object.prototype.construtor===Object

而同时Object的原型对象又符合第一个结论的特例,即Object.prototype.__ proto __不存在proto属性,指向的是空(null

下图为原型链: 原型链关系图
执行顺序

就近原则:在查找方法的时候,如果执行实例对象方法,则先查找this的方法;后通过原型链中 __ proto __的线路逐步查找,直到找到为止。

最后加上Object函数与Function的关系,如下图所示 完整原型链关系图

相关文章

  • 原型链以及方法执行顺序

    前言 快节奏的世界,大家都想要快,因此我把构造函数与原型链分文章说明。想具体了解构造函数与原型、原型链之间的关系可...

  • JavaScript的继承以及原型链相关内容

    1. 继承,原型,原型链理解以及它们之间的关系 2. 使用不同的方法来创建对象和生成原型链

  • 前端问(面试)题

    dom执行顺序 事件委托原理 原型链的作用,与作用域链的区别 js事件轮询原理、JavaScript的运行机制 结...

  • js数组方法总结

    数组的排序 sort()方法排序问题。 sort()方法是Array原型链上自带的方法。 默认排序顺序是根据字符串...

  • JavaScript 核心概念归纳整理

    JavaScript核心概念归纳整理 数据类型、判断方法 执行上下文 变量对象、活动对象 原型、原型链 作用域、作...

  • 《前端面试手记》之JavaScript基础知识梳理(下)

    ? 内容速览 ? 实现ES5继承的4种方法 原型和原型链 作用域和作用域链 Event Loop 执行上下文 闭包...

  • 方法

    load 和 initialize 方法的执行顺序以及类和对象的关系

  • groupcache源码(2) Group

    Group对象 Group对象结构以及方法 NewGroup() 根据程序执行顺序,NewHTTPPool()->...

  • 滚动视图UIScrollView

    属性 方法 代理方法 拖拽执行顺序 缩放执行顺序

  • 原型以及原型链

    先知知识:function,array,object都属于对象对象是函数创建的,而函数却又是一种对象 functi...

网友评论

    本文标题:原型链以及方法执行顺序

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