gpt4 book ai didi

javascript - 继承:构造函数不运行 "super"?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:37:47 25 4
gpt4 key购买 nike

我在使用 JS 几个月后遇到了这种行为。由于我的 Java 背景,我非常困惑:我创建了一个类并创建了子类。调用子类的构造函数不会调用父类的构造函数。好的,我了解了这种行为,这似乎很正常,对吧?

查看此 jsfiddle example帮我澄清一下。

所以为了让我的子类构造函数运行它的每个父构造函数,我添加了以下内容(参见 jsfiddle example

好的,这样看起来效果更好。现在,我想知道以下内容;有没有办法在不触发其构造函数的情况下指定父类(super class)?例如,以下运行 Node() 方法:

GameObject.prototype = new Node();
GameObject.prototype.constructor=GameObject;

(请参阅更新的 jsfiddle example)

我忍不住觉得自己做得不对。由于我的真实模型跨 7 个子类分层,因此我的构造函数总共调用了 21 次 (6 + 5 + 4 + 3 + 2 + 1 = 21)。

我做错了什么吗?感谢您的宝贵时间!

最佳答案

你本身并没有做错任何事。这是给定您的代码的预期行为。但是,您可以使用类似于 "Simple JavaScript Inheritence" by John Resig 中描述的方法。 .可以找到类似方法的另一个讨论 here on stackoverflow .

关于javascript - 继承:构造函数不运行 "super"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8695621/

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