我有一个类
function Man(){...}
Man.drinkBeer = function(){...}
我需要从
SuperMan
继承Man
。而且我仍然希望自己的Superman
能够喝点啤酒。我怎样才能做到这一点?
最佳答案
Object.setPrototypeOf(SuperMan, Man);
这会将派生函数的内部
__proto__
属性设置为基本函数。因此,派生函数将继承基本函数的所有属性。
请注意,这会影响功能本身,而不影响其
prototype
。是的,令人困惑。
现有的浏览器均不支持
setPrototypeOf()
;相反,您可以使用非标准的(但可行的)替代方法:SuperMan.__proto__ = Man;