js,通过prototype调用父函数

js, call parent funciton through prototype

本文关键字:函数 调用 prototype 通过 js      更新时间:2023-09-26

请问在以下情况下如何调用函数c??非常感谢你的建议。

    var Foo = function(el){}
    Foo.prototype.d = function(){ 
        // I want to call function c here, how can I do??
    };

    $.fn.a = function(){
        return { 
            b: new Foo(this)
       };
   };
   $.fn.a.prototype.c = function(){ alert(1); };  //function c
   $(el).a().b.d()   <-reach c... 

您没有使用新关键字构建的a实例。因此,您将不得不使用callapply

Foo.prototype.d = function(){ 
    $.fn.a.prototype.c.apply(this, arguments);
};

这将在Foo实例上运行c——这就是您想要的吗?如果只想在没有特定执行上下文的情况下调用函数,可以使用$.fn.a.prototype.c()

这可能不是构建它的最佳方式——如果你想将其称为Foo的成员函数,不要将其添加为$.fn.a的成员函数。