首页 > 代码库 > 原型和原型链的扯淡
原型和原型链的扯淡
一、首先谈谈原型
每个对象都有个属性prototype,名为原型,是一个指针属性,该属性指向一个原型对象;
而原型对象也有一个指针属性constructor,该指针指向原型对象的实例的构造函数;
构造函数实例化之后的实例则是存在_proto_属性,该属性指向构造函数的原型对象;
实例的constructor == prototype.constructor;
二、原型链
接下来用一段形象的话记录我对原型的感悟:
把构造函数看成是一个人,然后prototype是人的一个属性:基因,该基因指向一个细胞,也就是原型对象,而细胞也有一个属性,叫做组织属性(constructor),使用这个属性,细胞就可以组织成一个人,所以说原型对象(细胞)的constructor(组织)指向构造函数(人);所谓继承,也就是将细胞的基因传给子代,即实例是一个子代,实例的属性来自上一代的细胞里的基因;从而实现了继承;
择日搞个图出来更形象。
原型和原型链的扯淡
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。