猿问

萌新求教!这个输出结果为什么是这样?十分感谢

Function.prototype.a=1;
Object.prototype.b=2;
functionA(){}
vara=newA();
console.log(a.a,a.b);//undefined,2
console.log(A.a,A.b);//1,2
鸿蒙传说
浏览 224回答 2
2回答

翻过高山走不出你

a不是function当然a.a是undefineda是对象,a.b是2A是function所以自身a是1function也是对象的一种,所以自身b是2

慕运维8079593

A.__proto__===Function.prototypeA.__proto__.__proto__===Function.prototype.__proto__===Object.prototypeA.prototype!=A.__proto__a.__proto__===A.prototypea.__proto__.__proto__===A.prototype.__proto__===Object.prototype一般情况下,a=newA之后,a.__proto__===A.prototype。在定义函数时,如果这个函数可以用做构造函数,它会自动生成一个prototype属性,这个属性的值是一个普通的对象。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答