我想使用 JavaScript 编写一个小游戏,<canvas>但首先我想确定使用对象的“正确”或至少常见的方法。
我特别难以理解的一个主题是如何实现overriding方法。
当我创建一个对象时,我可能有这个:
function MyObject()
{
var base = {};
base.i = 0;
base.update = function()
{
base.i ++;
}
return base;
}
然后,当我创建另一个应该以相同成员开头的对象时,我使用它:
function AnotherObject()
{
var base = new MyObject();
base.j = 0;
return base;
}
我想AnotherObject.update()在仍然运行我拥有的逻辑的同时添加更多内容MyObject.update(),但是当我在其中执行此操作时AnotherObject():
base.update = function()
{
j ++;
}
然后我当然失去了我添加的逻辑MyObject.update()。
我该如何编写AnotherObject.update()以便它也调用由update()定义的原始方法MyObject?