原型链 —— 以隐式引用作为存储方式的单向链表
原型链的表述
一个以隐式引用作为存储方式,以点操作符和属性访问语句作为语法糖的单向链表
原型链作为一个单向链表并没有完全发挥出单向链表的特性,换句话说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
总结:
有个重要概念:每个构造函数创建的时候,都会创建一个该函数实例对象作为默认原型
原型链 —— 以隐式引用作为存储方式的单向链表相关推荐
- 83-spark2.2的DataFrame使用以及以前版本SqlContext的隐式引用
这里主要改进spark2.2版本以前的操作,以及隐式引用的功能 参考http://blog.csdn.net/qq_21383435/article/details/79158872 spark2.2 ...
- 在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法,去掉数值相同的元素,使得表中不再有重复的元素。
在一个递增有序的线性表中,有数值相同的元素存在.若存储方式为单链表,设计算法,去掉数值相同的元素,使得表中不再有重复的元素.例如(7,10,10,21,30,42,42,42,51,70)将变为(7, ...
- c语言递增20,2020-07-20(C语言)数据结构-在一个递增有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法去掉数值相同的元素,使表中不再有重复的元素...
//在一个递增有序的线性表中,有数值相同的元素存在.若存储方式为单链表,设计算法去掉数值相同的元素,使表中不再有重复的元素,例如:(7,10,10,21,30,42,42,51,70)将变为(7,10 ...
- 粗解构造函数,原型,原型链,显式原型,隐式原型
构造函数 引入:使用工厂函数来创造对象时,使用var obj =new Object(),创建后都是object,无法区分 创建一个构造函数,专门用来创建特定类型的对象,例如人的对象,动物的对象.构造 ...
- JavaScript原型与原型链
程序员兼职神器 VIP影视网站一键建站,卖VIP会员赚房租hadoopdoc.com 原型 1.每个函数都有一个prototype属性,它默认指向一个Object空对象(即称为: 原型对象),原型对 ...
- JS数据类型 构造函数 原型链
js数据类型 基本数据类型:string undefined null boolean number 引用数据类型 Object array function 二者的区别 基本数据类 ...
- 操作系统之文件管理:5、文件物理结构(连续分配、链式(显式、隐式)分配、索引分配(链接、多层索引、混合索引))
3.文件物理结构 思维导图 文件块.磁盘块 文件分配方式 1.连续分配 2.链接分配 隐式链接 显式链接 3.索引分配 如果一个文件的大小超过一个磁盘块怎么办? 1.链接方案 2.多层索引 3.混合索 ...
- .NET 6 即将到来的新特性 — 隐式命名空间引用
.NET 6 即将到来的新特性 -- 隐式命名空间引用 Intro 之前我们在 ASP.NET Core 6 Minimal API 中曾经提到过现在我们还是需要手动加命名空间引用,在以后的版本中可 ...
- 前端面试 - JS总结(1) - 基础 (数据类型, 事件与函数, 原型链)
你不走出舒适圈,又怎么知道自己多坚强?! 前端面试 - JS总结(1) - 基础 (数据类型, 事件与函数, 原型链) 前端面试 - JS总结(2) - ES6 (let, 箭头函数, this) 前 ...
最新文章
- 服务器架设笔记——多模块和全局数据
- 【C++】operator bool() 和 operator const bool() const
- 《C语言及程序设计》实践参考——分离整数和小数部分
- opencv鼠标操作,画矩形
- Node+Express+Vue2.x+Mongodb结合muse-ui、less、rem等实现简易博客
- 影院平台搭建 - (6)一个靠谱的视频播放方案的感想
- 作者:杨静(1979-),女,博士,合肥工业大学计算机与信息学院副教授
- Proxmark3 Easy Gui 4.0 5.0 5.1加强版免费获取啦最新编译2019/5/10
- 用C#设计一个四则运算器
- 每年都有人问“IT行业还能再火几年”,现实给出最好的答案
- 《斯坦福算法博弈论二十讲》学习笔记(持续更新)
- win10 office2007,excel2007,word2007等每次打开都要配置进度
- 2022前端vue面试题
- Cisco路由器密码设置
- 2021年职业院校技能大赛“网络安全”项目江西省A模块
- Ubuntu安装Elasticsearch集群及Kibana
- 解决T400\T500\W500等安装win10驱动后黑屏问题
- 配置 MATLAB for Linux 设置启动图标 MATLAB2021a Ubuntu 20.04.3 LTS
- MultiNet:自主驾驶中的实时联合语义推理 论文翻译
- Oracle 11g 学习笔记-14(数据库性能优化)