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

请问倒数第二行的x为什么是undefined呢?为什么不是101?

http://img1.sycdn.imooc.com//58b3949b0001407710440391.jpg这是老师课件中的图片

正在回答

1 回答

Student.prototype={y,2};  这行代码的意思是将prototype重新赋值,也就是说这行代码之后,student.prototype只有y属性,没有x了。所以新创建的类中也没有x属性,输出,自然是undefined。

3 回复 有任何疑惑可以回复我~
#1

慕娘3153766 提问者

非常感谢!
2017-03-01 回复 有任何疑惑可以回复我~
#2

木林森123

想问一下,虽然student.prototype只有y属性,没有x 了,但是原型链上,Person.prototype里有x属性,为什么输出的时候没有x呢?
2017-07-25 回复 有任何疑惑可以回复我~
#3

ppxppx 回复 木林森123

Student.prototype={y:2}, 这样覆盖了Student.prototype,不再是原来的内存地址了,现在应该是指向Object.prototype了。如果执行上面的语句前赋给变量a,那么a就是原来的原型地址,a.x 应该是能找到的。
2022-03-04 回复 有任何疑惑可以回复我~
#4

ppxppx 回复 ppxppx

补充一下,这也是覆盖studnet.prototype后,不影响已经new了的实例的原因。
2022-03-04 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

请问倒数第二行的x为什么是undefined呢?为什么不是101?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信