我想使用 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
?