没什么,我是新手,很高兴加入这个伟大的社区。问题是,我有一个名为Character的JavaScript类,如下所示:
var Character = function()
{
// ..Some previous Properties / Methods (included one called "StareDown()")..
// And this method:
this.GrabDown = function()
{
Context.clearRect(0, 0, CanvasWidth, CanvasHeight);
//Context.fillRect(0, 0, CanvasWidth, CanvasHeight);
Context.drawImage(this.GrabbingDown, CharacterX, CharacterY, SpriteWidth, SpriteHeight);
window.setTimeout
(
function()
{
// Here is where I want to call the parent class method "StareDown()", but I don't know how.
},
250
);
}
}
所以这是我的大问题,如何通过该子匿名函数访问父方法?我一直想弄清楚整个晚上,但是找不到一些有用的信息,谢谢!
最佳答案
您需要将父对象的this
对象存储在变量中(假设您已将函数定义为this.StareDown = function () {...}
var Character = function()
{
// ..Some previous Properties / Methods (included one called "StareDown()")..
this.StareDown = function() {...}
var curCharacter = this;
this.GrabDown = function()
{
Context.clearRect(0, 0, CanvasWidth, CanvasHeight);
//Context.fillRect(0, 0, CanvasWidth, CanvasHeight);
Context.drawImage(this.GrabbingDown, CharacterX, CharacterY, SpriteWidth, SpriteHeight);
window.setTimeout
(
function()
{
// Here is where I want to call the parent class method "StareDown()", but I don't know how.
curCharacter.StareDown(...);
},
250
);
}
}