【发布时间】:2013-01-12 12:30:07
【问题描述】:
JavaScript 中有没有办法做到这一点:
Foo = function() {
};
Bar = function() {
};
Baz = function() {
Foo.call(this);
Bar.call(this);
};
Baz.prototype = Object.create(Foo.prototype, Bar.prototype);
var b = new Baz();
console.log(b);
console.log(b instanceof Foo);
console.log(b instanceof Bar);
console.log(b instanceof Baz);
所以 Baz 既是 Foo 又是 Bar 的一个实例?
【问题讨论】:
-
这是在这个问题上讨论过的:stackoverflow.com/questions/7373644/…
-
@IsmaelGhalimi 就是这样。我确实读过那个问题,而且只有它被接受的答案。虽然那里有答案,但我不会称其为重复。
-
让我再读一遍并回答你的问题。我可能错过了什么。对不起,如果我这样做了。
-
另外一个问题的补充回答对这个问题是正确的。这并不意味着这个问题是那个问题的重复。
标签: javascript inheritance prototype multiple-inheritance ecmascript-5