0
我想我可能做一些愚蠢的,但我不知道......Javascript继承 - 不能访问方法
我有以下两类:
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'时,你会覆盖'Player.prototype.test2'。如果你之后定义了'test2',它会在新对象上创建方法,而且两者都可以工作。 – dandavis