【发布时间】:2012-01-31 12:14:35
【问题描述】:
我在使用 JS 几个月后遇到了这种行为。由于我的Java背景,我很困惑:我创建了一个类并制作了子类。 调用子类的构造函数不会调用父构造函数。好的,我读到了这种行为,看起来很正常,对吧?
请参阅此 jsfiddle example 以帮助我澄清。
为了让我的子类构造函数运行它的每个父构造函数,我添加了以下内容(参见 jsfiddle example
好的,这样似乎效果更好。 现在,我想知道以下内容;有没有办法在不触发其构造函数的情况下指定超类? 比如下面运行 Node() 方法:
GameObject.prototype = new Node();
GameObject.prototype.constructor=GameObject;
(请参阅更新的 jsfiddle example)
我不禁觉得我做得不对。由于我的真实模型跨 7 个子类分层,因此对我的构造函数总共有 21 次调用(6 + 5 + 4 + 3 + 2 + 1 = 21)。
我做错了吗?感谢您的宝贵时间!
【问题讨论】:
标签: javascript inheritance constructor prototype chaining