关于D选项理解,麻烦老师看下是否正确

来源:6-3 选择练习

学习plus

2020-05-28 20:16:09

http://img.mukewang.com/climg/5ecfa9ba097def4b04310460.jpg

不执行cTest.prototype = new pTest();

赋值打印

http://img.mukewang.com/climg/5ecfa9d609b5d9c902150129.jpg

可以看到cTest的原型属性中是有name这个属性的,如果这个时候是alert(people.name),一定能弹出‘lala‘。

但是当执行http://img.mukewang.com/climg/5ecfaa1f09bc696e04070038.jpg

这条语句后,cTest的整个原型都被替换掉了

http://img.mukewang.com/climg/5ecfaa3e097ec20202260115.jpg

不用去考虑http://img.mukewang.com/climg/5ecfaa4d09143d1903770030.jpg,不存在了

这个时候再去寻找people.name ,要一层层往下挖,首先people中找不到,只有eat方法。

→people.__proto__ = cTest.prototype = new pTest() = pTest的实例,依旧找不到,只找到个say方法。

→pTest.prototype中去找,找到name属性【√】和play方法http://img.mukewang.com/climg/5ecfaabc0935fdd402360164.jpg

是这样的流程吗?

写回答

1回答

好帮手慕码

2020-05-29

同学你好,理解的大致是正确的,后继承的父级,会覆盖住先定义的自己的:

http://img.mukewang.com/climg/5ed0729409c3519a07530302.jpg

如果我的回答帮助了你,欢迎采纳,祝学习愉快~

0

0 学习 · 14456 问题

查看课程