sil*_*der 5 javascript oop inheritance design-patterns
我上课了
function Man(){...}
Man.drinkBeer = function(){...}
Run Code Online (Sandbox Code Playgroud)
我需要继承SuperMan的Man.我仍然希望Superman能喝一些啤酒.
我怎样才能做到这一点?
Object.setPrototypeOf(SuperMan, Man);
Run Code Online (Sandbox Code Playgroud)
这会将__proto__派生函数的内部属性设置为基函数.
因此,派生函数将继承基函数的所有属性.
请注意,这会影响函数本身,而不是它们的prototypes.
是的,这令人困惑.
没有现有浏览器支持setPrototypeOf(); 相反,您可以使用非标准(但工作)替代方案:
SuperMan.__proto__ = Man;
Run Code Online (Sandbox Code Playgroud)