猿问

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

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方法呢?
米琪卡哇伊
浏览 624回答 2
2回答

料青山看我应如是

b.__proto__.sayName()调用的是B.prototype.sayName(),b.__proto__.__proto__.sayName()才是你想要的结果。并且,非常不推荐使用这种写法,__proto__并非标准,是现代浏览器自己实现的一个接口,请使用Object.getPrototypeOf()代替
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答