原型及原型链

原型链

  每一个函数对象下都有一个prototype属性,这个属性就是原型,而这个prototype原型就是一个对象

原型链的概念:

  当一个对象调用自身不存在的属性/方法时 ,就会去组件[proto]关联的前辈prototype对象上去找

  如果没找到 就会去该prototype原型[proto]关联的前辈propotype去找

  以此类推  直到找到属性 方法或者undefined为止 从而形成了所谓的原型链

总结:

  JavaScript 中的对象,都有一个内置属性[Prototype],指向这个对象的原型对象。

  当查找一个属性或方法时,如果在当前对象中找不到,会继续在当前对象的原型对象中查找;

   如果原型对象中依然没有找到,会继续在原型对象的原型中查找(原型也是对象,也有它自 己的原型);

  直到找到为止,或者查找到最顶层的原型对象中也没有找到,就结束查找,返回 undefined

  这个查找过程是一个链式的查找,每个对象都有一个到它自身原型对象的链接,这些链接组建 的

  整个链条就是原型链。拥有相同原型的多个对象,他们的共同特征正是通过这种查找模式体现出来的。

  

原文地址:https://www.cnblogs.com/swjRH/p/13604384.html