原型和原型链的扯淡

Posted 落落月

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了原型和原型链的扯淡相关的知识,希望对你有一定的参考价值。

一、首先谈谈原型

每个对象都有个属性prototype,名为原型,是一个指针属性,该属性指向一个原型对象;

而原型对象也有一个指针属性constructor,该指针指向原型对象的实例的构造函数;

构造函数实例化之后的实例则是存在_proto_属性,该属性指向构造函数的原型对象;

实例的constructor == prototype.constructor;

 

二、原型链

接下来用一段形象的话记录我对原型的感悟:

把构造函数看成是一个人,然后prototype是人的一个属性:基因,该基因指向一个细胞,也就是原型对象,而细胞也有一个属性,叫做组织属性(constructor),使用这个属性,细胞就可以组织成一个人,所以说原型对象(细胞)的constructor(组织)指向构造函数(人);所谓继承,也就是将细胞的基因传给子代,即实例是一个子代,实例的属性来自上一代的细胞里的基因;从而实现了继承;

择日搞个图出来更形象。

 

以上是关于原型和原型链的扯淡的主要内容,如果未能解决你的问题,请参考以下文章

原型和原型链的理解

原型和原型链的关系以及查找顺序

js原型和原型链的问题

原型和原型链的理解

原型和原型链的深入探索

原型和原型链的深入探索