请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

控制台结构引发的问题2

图片描述

图片描述

描述&理解: 这里我把之前的study1 也变成了study2;之后展现出了一些有意思的情况,如上面白色的图
两个study2不出预料被干掉了一个。却是把{ 构造函数 原型属性} 里面的原型属性干掉了,student.prototype.study2 就替换了前任的位置,看起来是这么回事啊

问题: 我想知道这个情况说明什么问题吗?

正在回答 回答被采纳积分+3

1回答

双越 2020-01-18 17:31:29

“却是把{ 构造函数 原型属性} 里面的原型属性干掉了”—— 你说哪个没有了?

0 回复 有任何疑惑可以回复我~
  • 提问者 flake #1
    一个class扩展, 一个prototype 扩展 两个都是相同的方法,
    在实际调用的时候,优先选择的是prototype的扩展(不知道是不是书写顺序的原因) 如果按照上一个问题您的回答 "我理解它应该是为了区分这个方法是 class method 还是你自己通过 prototype 扩展的"
    prototype扩展是实体,class扩展是虚体,那么这个例子留下来的就应该是虚体,那么应该打印 'study2'  结果输出是study1呀
    
    “却是把{ 构造函数 原型属性} 里面的原型属性干掉了” 我的意思是,两个study 函数同名,留下了一个 , 留下的那个是prototype扩展的,被干掉的就是class 扩展的
    回复 有任何疑惑可以回复我~ 2020-01-30 23:04:11
  • 双越 回复 提问者 flake #2
    class 中定义了 study2 ,然后你又用 property 重新定义了一个 study2 ,这就是把前面的覆盖了。
    回复 有任何疑惑可以回复我~ 2020-01-31 17:02:16
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号