Possible Duplicate:
set attribute with javascript super method調用父類中的方法從子類 - 的JavaScript
我試圖創建HTML5一個簡單的遊戲樂趣。我有一個應該是Player類的超類的實體類。
function Entity(x, y) {
this.x = x;
this.y = y;
this.tick = function() {
//Do generic stuff
}
}
function Player(x, y) {
this.parent.constructor.call(this, x, y);
this.tick = function() {
//Do player-specific stuff
this.parent.tick.call(this);
}
}
Player.prototype = new Entity();
Player.prototype.constructor = Player;
Player.prototype.parent = Entity.prototype;
的問題是在這條線:
this.parent.tick.call(this);
我得到了鍍鉻的JavaScript控制檯顯示一個錯誤:「遺漏的類型錯誤:無法調用的未定義‘叫’」。
我不明白,我花了很長時間試圖找到類似問題的帖子。我對超類的構造函數的調用工作正常,但對超類'tick方法的調用不起作用。
我對製作遊戲很陌生,所以我不知道這是否是一個好的設置(從子類打勾調用超類打勾)。如果有更好,更典型的人使用的方式,請告訴。
謝謝。
爲什麼你沒有原型上的通用東西?你可以在那裏輕鬆訪問它。 – Bergi
JavaScript沒有經典的繼承,就像你從其他古典語言如java中使用。您應該閱讀原型繼承,並瞭解它與經典繼承之間的差異。 – Christoph