在Javascript中实现多重继承

tes*_*dtv 3 javascript prototype prototypal-inheritance

我观察到通过在Javascript中使用"prototype"属性(并间接设置原型链),可以在JavaScript中实现多级继承.但是有可能通过某种方式在Javascript中实现多重继承吗?任何简单的例子都会很棒.

Den*_*ret 5

要实现通常的简单继承

MyClass.prototype = new MySuperClass();
Run Code Online (Sandbox Code Playgroud)

但你也可以复制另一个"类"的内容:

MyClass.prototype = new MySuperClass();
var myOtherSuperClass = new MyOtherSuperClass();
for (var key in myOtherSuperClass) {
     MyClass.prototype[key] = myOtherSuperClass[key];
}
Run Code Online (Sandbox Code Playgroud)

当然,您可以使用像jQuery.extend这样的实用程序来实现,或者自己动手.

限制是instanceof无法检测到的MyOtherSuperClass.