javascript - 在 JavaScript 类中调用父方法

标签 javascript methods call parent

毫无疑问,我是新人,我很高兴加入这个伟大的社区。问题是,我有一个名为 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
        );
    }
}

关于javascript - 在 JavaScript 类中调用父方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12729824/

相关文章:

javascript - 如何从asp.net mvc中的多个分页页面获取所有选定的复选框?

java - 如何使用 javaassist 或任何其他 api 获取所有方法的正确行号?

objective-c - 将函数作为参数传递给 Objective-C 方法

c - 如何用C语言调用ML接口(interface)(函数)

javascript - 如何根据通过 JavaScript 添加的类更改元素的::before 内容?

javascript - SVG 动画在加载时触发,而不是在 DOM 插入时触发

java - Java 是 "pass-by-reference"还是 "pass-by-value"?

python - Subprocess.popen() 不能在 Windows 上的参数中使用引号

java - java选择文件夹的调用方法

javascript - 下一个/上一个 anchor 链接,如何在用户滚动时更新下一个/上一个链接