关于prototype、proto

  在js中,自定义函数a()时,

  1、js内部会为函数a()添加一个原型(即prototype)属性及__proto__属性;

  2、并且为prototype(prototype本质上还是js的一个对象)添加一个constructor的属性,该属性始终指向创建当前对象的构造函数a()(即a.prototype.constructor == a())。

  3、把a()作为自定义函数创建对象b() = new a()时,b()会自动保存一个__proto__属性(b没有prototype属性),该属性指向其构造函数a()的prototype属性。

  即b.__proto__ == a.prototype,所以b.__proto__.constructor == a.prototype.constructor

原文地址:https://www.cnblogs.com/cornlin/p/7498477.html