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

js构造函数继承的问题?

js构造函数继承的问题?

明月笑刀无情 2019-03-28 18:15:41
myfn.b();//0 这个输出结果有点不明白。function fn() {    this.a = 0;    this.b = function() {        alert(this.a)    }}fn.prototype = {    b: function() {        this.a = 20;        alert(this.a);    },    c: function() {        this.a = 30;        alert(this.a);    }}var myfn = new fn();myfn.b();//0myfn.c();//30
查看完整描述

2 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

这是因为实例首先会调用实例方法,在原型链上的b方法没有被调用而导致的。


查看完整回答
反对 回复 2019-04-02
?
墨色风雨

TA贡献1853条经验 获得超6个赞

楼上的说法正确的。JavaScript继承机制是这样的,如果实例对象自身就有某个属性或方法,它就不会再去原型对象寻找这个属性或方法。

查看完整回答
反对 回复 2019-04-02
  • 2 回答
  • 0 关注
  • 623 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信