为什么我的Backbone.View.constructor .__ super__ undefined如果我使用_.bindAll(this)

jak*_*ent 5 javascript backbone.js

我是我自己的Backbone.View的子类.如果,在超类'初始化函数中,我写道:

_.bindAll(this,'many','methods');

并指定我想要绑定到此上下文的方法,我可以通过以下方式从子类调用super:

this.constructor.__super__.initialize.apply(this, arguments);
Run Code Online (Sandbox Code Playgroud)

但是,如果在超类中,我使用:

_.bindAll(this)
Run Code Online (Sandbox Code Playgroud)

相反,当我从我的子类调用super时,

this.constructor.__super__
Run Code Online (Sandbox Code Playgroud)

未定义.为什么会有这样的智慧?

Dan*_*y R 3

为什么不简单地用它来调用 super:

(为了澄清起见,我将其分成几行,您可以在一行中进行调用)

var thisProto = Object.getPrototypeOf(thisInstance);
var superProto = Object.getPrototypeOf(thisProto);
superProto.superMethod.apply(thisInstance, [param1, param2]);
Run Code Online (Sandbox Code Playgroud)

参考:GetPrototypeOf