Javascript基于 ‘__proto__’ 的原型链
图片来自基友 kzloser
图片说明
1.总共三类对象(蓝色大框)
2.实例对象(通过new XX() 所得到的实例),跟原型链相关的只有 __proto__
属性,指向其对应的原型对象 *.prototype
。
3.构造函数对象分原生和自定义两类。跟原型链相关的有 __proto__
属性,除此之外还有 prototype
属性。它们的 __proto__
属性都是指向 Function.prototype
这个原型对象的。prototype
也是指向对应的原型对象。
4.原型对象除了一样拥有 __proto__
外,也拥有独有的属性 constructor
。它的__proto__
指向的都是 Object.prototype
,除了 Object.prototype
本身,它自己是指向 null
。而 constructor
属性指向它们对应的构造函数对象。
5.原型链是基于 __proto__
的。实例只能通过其对应原型对象的 constructor
才能访问到对应的构造函数对象。构造函数只能通过其对应的 prototype
来访问相应的原型对象。
您可能感兴趣的文章:
Javascript基于 ‘__proto__’ 的原型链
JavaScript中的面向对象(object-oriented)编程
JavaScript面向对象知识点小结
JavaScript创建对象与对象继承参考示例
理解JavaScript中的面向对象
再谈Javascript原型继承
Javascript类继承浅析
细说浏览器特性检测(2)-通用事件检测
基于原型的JavaScript继承 – 面向对象的JavaScript – JavaScript核心
JavaScript 面向对象的原型与实例分析