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

js中为什么不能使用__prototype__调用父类上面的方法呢

js中为什么不能使用__prototype__调用父类上面的方法呢

米琪卡哇伊 2019-05-24 19:03:12
1.在父类和子类上面都实现了一个相同的方法,但是想有时候使用父类方法,有时候使用子类方法,代码是这样的functionA(){this.name='testA'}A.prototype.sayName=function(){console.log('A')}functionB(){A.call(this)this.name='testB'}B.prototype=Object.create(A.prototype)B.prototype.sayName=function(){console.log('B')}vara=newA()a.sayName()varb=newB()b.sayName()b.__proto__.sayName()//输出B这为什么输出的不适A为什么不能使用__proto__来调用父类上面的sayName方法呢?
查看完整描述

2 回答

?
料青山看我应如是

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

b.__proto__.sayName()调用的是B.prototype.sayName(),b.__proto__.__proto__.sayName()才是你想要的结果。
并且,非常不推荐使用这种写法,__proto__并非标准,是现代浏览器自己实现的一个接口,请使用Object.getPrototypeOf()代替
                            
查看完整回答
反对 回复 2019-05-24
  • 2 回答
  • 0 关注
  • 623 浏览
慕课专栏
更多

添加回答

举报

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