实例对象、构造函数和原型之间的关系

时间:2022-05-19 14:35:47

首先转载一张图(转自:https://www.cnblogs.com/lml-lml/p/6880757.html):

实例对象、构造函数和原型之间的关系

实例对象拥有__proto__和constructor属性,前者指向构造函数的原型,后者指向构造函数;

构造函数与普通函数不一样,多拥有一个prototype属性,指向它的prototype原型;__proto__属性指向构造函数的对象类型(先是Function类型,往上是Object类型);constructor指向它自己的构造函数;

原型里面有构造器construction和__proto__,构造器指向原型所属的构造函数,__proto__指向Object,为{}。Object的__proto__指向null。


可得出的结论是:

1. 所有函数都是Function的实例;

2. prototype是属性同时也是Object的实例对象,通过原型链能上升到Object