JavaScript原型链
基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。构造函数、原型和实例的关系:每个构造函数都有一个原型对象,每个原型对象的原型,原型对象的原型对象的原型对象…………如此层层递进,就构成了实例与原型的链条。这就是所谓原型链的基本概念。
对象的原型链
凡是对象都有原型
构造函数创建的对象也有原型
以下面的代码实例说明:

Person . prototype 是对象,也有原型
Person . prototype 是实例 p 的原型对象,使用 __proto__ 可以访问对象的原型对象
Person . prototype 的原型对象是 Person . prototype . __proto__
Person . prototype . __proto__ 里的 constructor 的 Object,所以 Person . prototype . __proto__ 就是 Object . prototype
Object . prototype . __prototype__ 是 null ,说明 Object . prototype 是顶级
下面是比较完整实例的原型图:

以上是比较简单的对象的原型链图。
注:以上是个人对原型链的理解及总结,如有笔误的地方还请大家多指教!

浙公网安备 33010602011771号