请问以下代码的输出是什么?并解释为什么输出的是这个?

https://img3.mukewang.com/5d2c7a120001ba8702000350.jpg

qq_执念_loCTV8
浏览 537回答 1
1回答

__innocence

1 undefined 2解释如下:new A().a; // 先在A的实例上找a属性,找不到,然后在搜索原型链,找到了1 new B().a; // B的实例上其实是有a属性的,这个属性值是undefined new C(2).a; // C的实例上有属性a,值是2实际上,我们最后得到的三个对象是:{};  {a: undefined} {a: 2}然后三个对象的原型链上都有a属性,所以,属性访问的时候,先在实例上找,找不到再去找原型链。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript