原型与原型链

更新于

原型对象prototype与属性__proto__

  • 每个对象都有__proto__属性

  • 实例的属性__proto__指向父类的原型对象prototype

  • 父类的原型对象prototype也有__proto__又指向了爷爷类的prototype,形成一个链式结构

  • 原型链的次顶层是Object.prototype,顶层是null

  • 原型对象的constructor指向构造函数本身

Function.prototype.constructor === Function

Object 是一个 Function

  • Object.proto = Function.prototype

Function的原型对象也是一个对象

  • Function.prototype.proto = Object.prototype

Function也是一个Function

  • Function.proto = Function.prototype

参考文档