Javascript 为什么YUI.lang.extend以这种方式实现继承?

Javascript 为什么YUI.lang.extend以这种方式实现继承?,javascript,inheritance,oop,yui,Javascript,Inheritance,Oop,Yui,我正在阅读YUI2.8.1源代码yahoo/yahoo.js YAHOO.lang.extend方法就是这样实现的 我不明白为什么它会创建另一个F函数。IMHO,下面的代码也应该起作用(忽略覆盖部分) YUI以这种方式实现它肯定是有原因的,但我无法理解。 有人能解释一下吗 谢谢我还是JavaScript新手,如果我错了,请纠正我,但在您的示例中,您似乎在假设超类的构造函数(它们永远不会接受任何参数) 通过中间构造函数深入了解继承,它可能会回答您的查询。我对JavaScript还是新手,所以如果我

我正在阅读YUI2.8.1源代码yahoo/yahoo.js

YAHOO.lang.extend方法就是这样实现的

我不明白为什么它会创建另一个F函数。IMHO,下面的代码也应该起作用(忽略覆盖部分)

YUI以这种方式实现它肯定是有原因的,但我无法理解。 有人能解释一下吗


谢谢

我还是JavaScript新手,如果我错了,请纠正我,但在您的示例中,您似乎在假设超类的构造函数(它们永远不会接受任何参数)


通过中间构造函数深入了解继承,它可能会回答您的查询。

我对JavaScript还是新手,所以如果我错了,请纠正我,但在您的示例中,您似乎在假设超类的构造函数(它们永远不会接受任何参数)

通过中间构造函数深入了解继承,它可能会回答您的查询

function extend (subc, superc ) {
    if (!superc||!subc) {
          throw new Error("extend failed, please check that " +
                    "all dependencies are included.");
    }
    subc.prototype=new superc();
    subc.prototype.constructor=subc;
    subc.superclass=superc.prototype;
}