原型链

何为原型链?

基本概念

  • 构造函数的实例的构造函数属性constructor都指向构造函数
  • 每个对象都有_proto_属性,只有函数对象才有原型对象属性prototype
  • 所有原型对象都会获得一个构造函数属性constructor指向原型对象属性prototype所在的函数对象
  • 原型对象prototype是构造函数的一个实例,主要用于继承
  • _proto_是所有对象的内置属性,指向创建该对象的构造函数的原型对象prototype
  • null 处于原型链的顶端
  • 原型链的主要意义是为了实现继承

原型对象

  • 该类限定作用域的公共区域,存放共享资源
  • 构造函数对象的prototype和实例函数的__proto__都存放了原型对象的门牌号
  • 原型对象也是对象,也有原型对象,因此形成原型链条
  • 先找你要钱,你没有找你爸爸,你爸爸没有找你爷爷,你爷爷没有找你太爷,你太爷没有那就算了不要了