原型链的表述

一个以隐式引用作为存储方式,以点操作符和属性访问语句作为语法糖的单向链表

原型链作为一个单向链表并没有完全发挥出单向链表的特性,换句话说JS中的原型链是只用部分能力的单向链表

原型对象真的没有尽头吗?

当然不是的, 原型对象由浏览器自动创建, 当然也有它自己的规则

规则如下:

1.每个构造函数在诞生的时候, 都会创建一个该函数的实例对象作为默认原型

相当于 Phone.prototype = new Phone();

2.而这个原型对象的原型, 则默认指向Object.prototype

相当于 Phone.prototype.__proto__ = Object.prototype;

3.当然, Object.prototype 也是它自己的实例

相当于 Object.prototype = new Object();

4. 但是, Object.prototype不再拥有原型对象

相当于 Object.prototype.__proto__ = null

5. 因此,原型对象是有上限的

p1.__proto__ 可访问

p1.__proto__.__proto__ 可访问

p1.__proto__.__proto__.__proto__ 为null

总结:

有个重要概念:每个构造函数创建的时候,都会创建一个该函数实例对象作为默认原型

原型链 —— 以隐式引用作为存储方式的单向链表相关推荐

  1. 83-spark2.2的DataFrame使用以及以前版本SqlContext的隐式引用

    这里主要改进spark2.2版本以前的操作,以及隐式引用的功能 参考http://blog.csdn.net/qq_21383435/article/details/79158872 spark2.2 ...

  2. 在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法,去掉数值相同的元素,使得表中不再有重复的元素。

    在一个递增有序的线性表中,有数值相同的元素存在.若存储方式为单链表,设计算法,去掉数值相同的元素,使得表中不再有重复的元素.例如(7,10,10,21,30,42,42,42,51,70)将变为(7, ...

  3. c语言递增20,2020-07-20(C语言)数据结构-在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法去掉数值相同的元素,使表中不再有重复的元素...

    //在一个递增有序的线性表中,有数值相同的元素存在.若存储方式为单链表,设计算法去掉数值相同的元素,使表中不再有重复的元素,例如:(7,10,10,21,30,42,42,51,70)将变为(7,10 ...

  4. 粗解构造函数,原型,原型链,显式原型,隐式原型

    构造函数 引入:使用工厂函数来创造对象时,使用var obj =new Object(),创建后都是object,无法区分 创建一个构造函数,专门用来创建特定类型的对象,例如人的对象,动物的对象.构造 ...

  5. JavaScript原型与原型链

    程序员兼职神器 VIP影视网站一键建站,卖VIP会员赚房租hadoopdoc.com  原型 1.每个函数都有一个prototype属性,它默认指向一个Object空对象(即称为: 原型对象),原型对 ...

  6. JS数据类型 构造函数 原型链

    js数据类型 基本数据类型:string   undefined   null  boolean  number 引用数据类型  Object  array  function 二者的区别 基本数据类 ...

  7. 操作系统之文件管理:5、文件物理结构(连续分配、链式(显式、隐式)分配、索引分配(链接、多层索引、混合索引))

    3.文件物理结构 思维导图 文件块.磁盘块 文件分配方式 1.连续分配 2.链接分配 隐式链接 显式链接 3.索引分配 如果一个文件的大小超过一个磁盘块怎么办? 1.链接方案 2.多层索引 3.混合索 ...

  8. .NET 6 即将到来的新特性 — 隐式命名空间引用

    .NET 6 即将到来的新特性 -- 隐式命名空间引用 Intro 之前我们在  ASP.NET Core 6 Minimal API 中曾经提到过现在我们还是需要手动加命名空间引用,在以后的版本中可 ...

  9. 前端面试 - JS总结(1) - 基础 (数据类型, 事件与函数, 原型链)

    你不走出舒适圈,又怎么知道自己多坚强?! 前端面试 - JS总结(1) - 基础 (数据类型, 事件与函数, 原型链) 前端面试 - JS总结(2) - ES6 (let, 箭头函数, this) 前 ...

最新文章

  1. 服务器架设笔记——多模块和全局数据
  2. 【C++】operator bool() 和 operator const bool() const
  3. 《C语言及程序设计》实践参考——分离整数和小数部分
  4. opencv鼠标操作,画矩形
  5. Node+Express+Vue2.x+Mongodb结合muse-ui、less、rem等实现简易博客
  6. 影院平台搭建 - (6)一个靠谱的视频播放方案的感想
  7. 作者:杨静(1979-),女,博士,合肥工业大学计算机与信息学院副教授
  8. Proxmark3 Easy Gui 4.0 5.0 5.1加强版免费获取啦最新编译2019/5/10
  9. 用C#设计一个四则运算器
  10. 每年都有人问“IT行业还能再火几年”,现实给出最好的答案
  11. 《斯坦福算法博弈论二十讲》学习笔记(持续更新)
  12. win10 office2007,excel2007,word2007等每次打开都要配置进度
  13. 2022前端vue面试题
  14. Cisco路由器密码设置
  15. 2021年职业院校技能大赛“网络安全”项目江西省A模块
  16. Ubuntu安装Elasticsearch集群及Kibana
  17. 解决T400\T500\W500等安装win10驱动后黑屏问题
  18. 配置 MATLAB for Linux 设置启动图标 MATLAB2021a Ubuntu 20.04.3 LTS
  19. MultiNet:自主驾驶中的实时联合语义推理 论文翻译
  20. Oracle 11g 学习笔记-14(数据库性能优化)

热门文章

  1. 序列化以及反序列化二叉树
  2. kubernetes问题排查
  3. Spark创建DataFrame的三种方法
  4. memc_nginx+srcache_nginx+memcached构建透明的动态页面缓存
  5. 使用YouTube API V3视频的完整描述- Google YouTube API V3 - Get Video Durations
  6. 【全国动态】服务器列表
  7. Ubuntu下安装Wine可能导致假死问题解决方案
  8. Java8之Stream-函数式接口
  9. 自己动手写CPU之第七阶段(5)——流水线暂停机制的设计与实现
  10. Nginx使用SSL配置HTTPS