我想寫一個使用JavaScript和<canvas>
的小遊戲,但首先我想指出「正確的」或至少通用的方法來處理對象。在JavaScript中擴展/重寫?
我很難理解的一個話題是如何實現方法的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()
以便它也調用MyObject
定義的原始update()
方法?
顯示你需要學習如何使用對象的原型。 – zzzzBov
@zzzzBov真實的故事。 – Marty