Javascript 与对象一起继承子对象

Javascript 与对象一起继承子对象,javascript,inheritance,constructor,prototype,Javascript,Inheritance,Constructor,Prototype,我将对象A和A.B用于 A.myB = A.B; 我继承了A1和A1.B,其中A1.B继承自A.B 及 实现此目的的代码如下所示: A = function() { this.myB = this.createB(); }; ... A.prototype.createB = function() { return new A.B(); }; 然后在继承A时,我需要更改.createB: A1.prototype.createB = function() { retu

我将对象
A
A.B
用于

A.myB = A.B;
我继承了
A1
A1.B
,其中
A1.B
继承自
A.B

实现此目的的代码如下所示:

A = function() {
    this.myB = this.createB();
};
...
A.prototype.createB = function() {
    return new A.B();
};
然后在继承A时,我需要更改
.createB

A1.prototype.createB = function() {
    return new A1.B1();
};

我想我忽略了一些东西-有没有更直接的方法来设置它,而不需要更改
createB

好吧,在写这篇文章时我找到了答案。可能对任何人都有帮助:

A.prototype.createB = function() {
    return new this.constructor.B();
};

我认为这应该可以做到这一点,并且在将子对象定义为主对象构造函数的属性时可能非常方便。

唯一的缺点似乎是每个继承的a必须定义其继承的B。我接受我的答案,但会接受另一个更好的答案。
A.prototype.createB = function() {
    return new this.constructor.B();
};