[英]Javascript inheritance - can't access methods
我想我可能在做些愚蠢的事情,但是我不確定...
我有這兩節課:
function Sprite()
{
}
Sprite.prototype.test1 = function()
{
console.log("test1");
}
function Player()
{
}
Player.prototype.test2 = function()
{
console.log("test2");
}
Player.prototype = new Sprite();
var player = new Player();
player.test1(); // this works
player.test2(); // this doesn't work..
我正在努力理解為什么test2()不起作用,但是test1()起作用。 如果將屬性添加到這些類中,那么我可以從這兩個類中訪問屬性,只是無法從播放器類中調用方法。 我究竟做錯了什么?
執行此操作時:
Player.prototype.test2 = function()
{
console.log("test2");
}
Player.prototype = new Sprite(); // Original Player.prototype gets overwritten here
您首先修改Player.prototype
的屬性,然后將Player.prototype
重新分配給新對象,從而失去Player
的原始原型。
如果您顛倒這2條語句的順序,則測試將通過。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.