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的父類, 但發(fā)現(xiàn)這種情況會出問題 }});如上, 寫了一個類似$extend這樣的函數(shù)來做繼承(為了方便給其它人改, 沒用babel之類的東西),現(xiàn)在想在一個方法里, 取到這個方法的所在類的實際父類, 而且想盡量避免直接寫出父類的名稱, 有什么方法能做到嗎?
在兼容ES5的前提下,有什么辦法能在方法里匿名的取到父類嗎?
慕虎7371278
2019-02-14 22:30:09