__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

猜你喜欢

转载自www.cnblogs.com/lstrive/p/12161724.html