原型|如何讲清楚JS原型链?( 二 )
- 原型对象跟继承有什么关系呢 ?
如果原型也是一个对象
那么它必然也应该有自己的原型对象,不是吗?
我们可以通过 p1.__proto__.__proto__ 进行访问
本文插图
我们把图画的再简单一点
本文插图
从图中可以看出,只要原型对象一直存在
对象P1就拥有了所有原型对象的能力, 我们也管这个叫做 继承
而这些原型对象之间是什么关系呢?
p1
p1.__proto__
p1.__proto__.__proto__
p1.__proto__.__proto__.__proto__
原型链, 因此而得名
需要补充的问题
原型对象真的没有尽头吗?当然不是的, 原型对象由浏览器自动创建, 当然也有它自己的规则
规则如下:
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
原型的最重要的作用就是扩展能力
本文插图
推荐阅读
- 心血管内科王医生|如何减少心悸,做到这几点,效果很明显
- 关节骨头|如何用“大米”来拯救急性扭伤?
- 三木|如何打造复古造型?学学三木博主这样搭,轻松打造高级复古感
- 矿物油|如何通过主要成分油,来判断乳霜的好坏?赶紧去试试你的乳霜吧
- 谜团|科学至今无法解释的4大谜团,人类何时才能解开?谜团一:地球是如何诞生的?谜团二:生命是怎么产生的?谜团三:黑洞里面是什么?谜团四:宇
- 关节骨头|老年女性骨质疏松问题如何解决?掌握3种方法,活出青春姿态
- 小儿健康|宝宝鼻塞不通气?家长如何护理?
- 关节骨头|如何快速消除腘绳肌挛缩导致的伸膝受限?
- 内分泌疾病|如何一步步作成“尿毒症”?
- 雨宸情感|如何挽回前任,看完你就明白了