Skip to content

原型与原型链

原型神图

  • 原型对象与原型属性
  1. 每个对象都有__proto__属性
  2. 实例的属性__proto__指向父类的原型对象prototype
  3. 父类的原型对象prototype也有__proto__又指向了爷爷类的prototype,形成一个链式结构
  4. 原型链的次顶层是Object.prototype,顶层是null
  5. 原型对象(Foo.prototype)的constructor指向构造函数function Foo()本身
  • Object是一个Function

Object.__proto__ = Function.prototype

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

Function.prototype.__proto__ = Object.prototype

  • Function也是一个Function

Function.__proto__ = Function.prototype