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

在兼容ES5的前提下,有什么办法能在方法里匿名的取到父类吗?

在兼容ES5的前提下,有什么办法能在方法里匿名的取到父类吗?

慕虎7371278 2019-02-14 22:30:09
var A = function () {};A.prototype = { foo: function () { console.log('1'); } };B = $extend(A, {    foo: function () {        A.prototype.foo.call(this);        // 需要在这里拿到父类的foo, 但希望改成避免使用A的名称的方式        // 例如类似arguments.callee.super的形式, 但是callee又被es5弃用了        console.log('2');    }});var C = $extend(B, {    bar: function () {        this.foo();        // 之前试了B.prototype.foo = function () { this.constructor.super } 的方式取B的父类, 但发现这种情况会出问题    }});如上, 写了一个类似$extend这样的函数来做继承(为了方便给其它人改, 没用babel之类的东西),现在想在一个方法里, 取到这个方法的所在类的实际父类, 而且想尽量避免直接写出父类的名称, 有什么方法能做到吗?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 473 浏览
慕课专栏
更多

添加回答

举报

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