gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 06:48:37 25 4
gpt4 key购买 nike

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

YAHOO.lang.extend方法是这样实现的http://github.com/yui/yui2/blob/master/build/yahoo/yahoo.js

我不明白为什么它会创建另一个 F 函数。恕我直言,下面的代码也应该有效(忽略覆盖部分)

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;
}

YUI 以这种方式实现它一定是有原因的,但我无法弄清楚。任何人都可以阐明这一点?

谢谢

最佳答案

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

This page使用可能会回答您的查询的中间构造函数深入介绍继承。

关于javascript - 为什么 YUI.lang.extend 以这种方式实现继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3511423/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com