为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

qq_执念_loCTV8 2019-07-15 21:06:08
查看完整描述

1 回答

?
__innocence

TA贡献313条经验 获得超208个赞

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属性,所以,属性访问的时候,先在实例上找,找不到再去找原型链。


查看完整回答
1 反对 回复 2019-07-15
  • 1 回答
  • 0 关注
  • 536 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信