当前位置:   article > 正文

JS中子类中如何调用父类的同名方法(继承时候,父类的同名方法被覆盖了)_js 继承后覆写的方法还能调用覆写前的方法吗

js 继承后覆写的方法还能调用覆写前的方法吗

继承时候,同名方法发生覆盖了,通过在临时私有变量先保存超类的同名方法,然后在子类同名方法中调用即可!

  1. function A()
  2. {
  3. //通过call传递进来的this就是var b=new B()创建的b对象,所以this.sex打印了female
  4. this.m=function(){alert("A"+this.sex)}
  5. }
  6. function B()
  7. {
  8. //用局部变量保存超类继承的同名方法
  9. var m=this.m;
  10. this.sex="female";
  11. this.m=function()
  12. {
  13. //覆盖方法中调用超类的同名方法时,需要用call或者apply修改执行上下文为this
  14. m.call(this);
  15. //this指向var b=new B()创建的b对象!
  16. alert("B"+this.sex);
  17. }
  18. }
  19. B.prototype=new A();
  20. B.prototype.constructor=B;
  21. var b=new B();
  22. b.m();

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号