__proto__,prototype,constructor
总结:
__proto__ 属性:指向原型对象。【原型终点为null,整个链条称原型链】【实例可获得原型链上的所有方法和属性】
prototype 属性:函数所独有属性,指向函数的原型对象,也就是这个函数所创建的实例的原型对象。【任何函数在创建的时候,其实会默认同时创建该函数的prototype对象】
constructor属性:指向该对象的构造函数。【每个对象都有构造函数,本身拥有或者__proto__继承而来】【function函数的构造函数是它本身,constructor属性的终点是function函数】
混乱点:1)函数的prototype对象由object()函数创建,因此函数的prototype对象的__proto__指向object().prototype。2)object()函数由function()构造,因此object()作为对象时,它的__proto__为function().prototype。
关系如下图示:(取自参考网址,参考网址见底部)
js代码:
function fun1(){}
let o1=new fun1{}
参考网址:https://blog.csdn.net/cc18868876837/article/details/81211729