开发者社区> 问答> 正文

js里面为什么要在实例替换原型后才能定义方法?

screenshot
screenshot
如图所示,不可以在SubType.prototype=new SuperType();之前定义SubType.prototype.getSubValue=function(){};吗?
这两个不都是要到SubType的原型里面查找吗?小白一枚,求教~

展开
收起
杨冬芳 2016-06-21 12:21:58 1772 0
1 条回答
写回答
取消 提交回答
  • IT从业

    SubType.prototype=new SuperType();
    现在SubType也有了SuperType的属性和方法

    SubType.prototype.getSubValue=function(){};
    然后再进行自身的扩展

    如果反过来:

    SubType.prototype.getSubValue=function(){};
    现在SubType上有了getSubValue方法

    SubType.prototype=new SuperType();
    现在prototype被覆盖了,之前定义的getSubValue等方法都没了

    所以自定义的扩展要在继承父类之后进行!

    2019-07-17 19:44:45
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
JavaScript异步编程 立即下载
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载