javascript 原型链继承问题

请问下面这组原型链代码中最后instance2.test结果为什么是h1,h2,h3,h4呢?
前面不是已经push了一个h5吗.

clipboard.png

阅读 1.6k
1 个回答

test是子类SubType的实例属性,在var instance2=new SubType()时给instance2test赋值["h1","h2","h3","h4"]。 同样你instance1.test.push的时候也是修改了instance1的实例属性。

访问instance2.name时去找实例属性找不到,再去看原型链发现SubType.prototype有属性name,于是返回它。同样instance1.name.push也是修改了原型链SubType.prototypename属性。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题