6-2 第二题 不是子的会覆盖父的吗?为什么name出来是haha?不明白

6-2 第二题 不是子的会覆盖父的吗?为什么name出来是haha?不明白

6-2 第二题 不是子的会覆盖父的吗?为什么name出来是haha?不明白

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

父元素的方法都会继承给子元素,不止是使用原型定义的。属性的值与代码执行顺序有关,后继承的父级的,会覆盖住先定义的自己的。 最后这个alert(people.name);弹出的是haha。

祝学习愉快!

 


  • 慕瓜9363615 提问者 #1
    非常感谢!
    2017-10-16 12:37:42
  • 您好,是否可以理解成。 先通过people.__proto__访问到CTest.prototype。这时候name是“lala”。 后来经过第CTest.prototype=new pTest()。 使得cTest的实例可以访问pTest的属性, 使得这行的内容就变成了name="haha" 相当于“haha”覆盖掉了“lala” 是这个意思吗?
    2018-04-26 00:50:03
哈尔的卡尔西法 2018-04-26 10:02:41

“haha”覆盖掉了“lala” 可以这么理解。其实这样理解最简单,代码是从上向下执行的,子元素的name属性值,被后面从父元素继承来的值覆盖掉了。你可以把这两句代码换下位置测试一下http://img1.sycdn.imooc.com//climg/5ae133130001bd6e05780458.jpg

qq_平常不二_0 2017-12-20 10:57:44

子类的原型属性及方法如果写在继承关系之前,那么子类之前写的原型属性及方法将全部被继承关系中的父类的属性及方法覆盖。

所以子类的属性及方法应该在继承关系之后写

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
进击JavaScript核心 2018
  • 参与学习       466    人
  • 提交作业       74    份
  • 解答问题       635    个

JavaScript不仅能实现静态页面到动态特效的转变,还能完成数据的动态交互,但是关于js到底功能有多强大,大家还是有所期待的,本路径将带你深入到js中,一一揭开JavaScript的神秘面纱。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师