javascript这个函数在一个函数中

我正在尝试使用它。在创建对象的函数内部。但这似乎不起作用。

function enemy(x, y) {
        this.x = x;
        this.y = y;
        this.width = 32;
        this.height = 32;
        this.img = new Image();
        this.ready = false;
        this.img.onload = function() {
            this.ready = true;
        }
        this.img.src = "images/barney.png";
    }

this.ready永远不会设置为true,因此我需要渲染图像。有任何想法吗?

大卫·佐里希塔(David Zorychta)

this不再指向第一个函数中的相同对象,请尝试分配var self = this

function enemy(x, y) {
        this.x = x;
        this.y = y;
        this.width = 32;
        this.height = 32;
        this.img = new Image();
        this.ready = false;
        var self = this; // note here how we save the value of `this`
        this.img.onload = function() {
            self.ready = true; // and use that saved `this` here
        }
        this.img.src = "images/barney.png";
    }

您需要执行此操作,因为thisonload方法内部时更改的值

就像@JamesMcLaughlin在下面指出的,如果您使用的是ECMA6(Javascript Harmony),则可以使用另一种解决方案,this如果使用箭头函数语法可以保持相同的值

function enemy(x, y) {
        this.x = x;
        this.y = y;
        this.width = 32;
        this.height = 32;
        this.img = new Image();
        this.ready = false;
        this.img.onload = () => this.ready = true;
        this.img.src = "images/barney.png";
    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在JavaScript中的另一个函数中调用一个函数

来自分类Dev

在一个函数中,返回另一个函数的目的是什么?(JavaScript)

来自分类Dev

在一个函数中,返回另一个函数的目的是什么?(Javascript)

来自分类Dev

无法在另一个函数javascript中调用一个函数

来自分类Dev

在JavaScript中的另一个函数内调用一个函数

来自分类Dev

在JavaScript中从一个函数访问变量到另一个函数

来自分类Dev

Javascript:在另一个函数中调用一个函数

来自分类Dev

为什么这个函数返回一个空数组?

来自分类Dev

为什么在这个Java通用子类中需要一个构造函数?

来自分类Dev

在另一个 JS 文件中调用全局函数。我如何让“这个”起作用?

来自分类Dev

在另一个 JS 文件中调用全局函数。我如何让“这个”起作用?

来自分类Dev

如何在javascript中重复一个函数?

来自分类Dev

如何在JavaScript中依次运行一个函数?

来自分类Dev

在另一个函数中的功能javascript

来自分类Dev

在JavaScript类中声明一个公共的“静态”函数

来自分类Dev

在javascript中循环一个函数随机次数

来自分类Dev

从javascript中的另一个函数获取值

来自分类Dev

传递一个在 javascript 函数中包含空格的 URL

来自分类Dev

让 Javascript 中只存在一个相同函数的实例

来自分类Dev

在另一个javascript函数中调用javascript函数

来自分类Dev

另一个用于在javascript中测试的函数中的补丁/模拟函数

来自分类Dev

是否可以调用JavaScript中另一个函数中本地定义的函数?

来自分类Dev

为什么这个 javascript 函数为同一个查询返回两个不同的结果?

来自分类Dev

Javascript:一个函数,多个div

来自分类Dev

Javascript 如何结束一个函数

来自分类Dev

Javascript onkeydown 一个函数

来自分类Dev

javascript中的多个函数一个接一个

来自分类Dev

在同一个“返回值对象”中访问一个 javascript 函数

来自分类Dev

从一个函数中调用 2 个函数

Related 相关文章

  1. 1

    如何在JavaScript中的另一个函数中调用一个函数

  2. 2

    在一个函数中,返回另一个函数的目的是什么?(JavaScript)

  3. 3

    在一个函数中,返回另一个函数的目的是什么?(Javascript)

  4. 4

    无法在另一个函数javascript中调用一个函数

  5. 5

    在JavaScript中的另一个函数内调用一个函数

  6. 6

    在JavaScript中从一个函数访问变量到另一个函数

  7. 7

    Javascript:在另一个函数中调用一个函数

  8. 8

    为什么这个函数返回一个空数组?

  9. 9

    为什么在这个Java通用子类中需要一个构造函数?

  10. 10

    在另一个 JS 文件中调用全局函数。我如何让“这个”起作用?

  11. 11

    在另一个 JS 文件中调用全局函数。我如何让“这个”起作用?

  12. 12

    如何在javascript中重复一个函数?

  13. 13

    如何在JavaScript中依次运行一个函数?

  14. 14

    在另一个函数中的功能javascript

  15. 15

    在JavaScript类中声明一个公共的“静态”函数

  16. 16

    在javascript中循环一个函数随机次数

  17. 17

    从javascript中的另一个函数获取值

  18. 18

    传递一个在 javascript 函数中包含空格的 URL

  19. 19

    让 Javascript 中只存在一个相同函数的实例

  20. 20

    在另一个javascript函数中调用javascript函数

  21. 21

    另一个用于在javascript中测试的函数中的补丁/模拟函数

  22. 22

    是否可以调用JavaScript中另一个函数中本地定义的函数?

  23. 23

    为什么这个 javascript 函数为同一个查询返回两个不同的结果?

  24. 24

    Javascript:一个函数,多个div

  25. 25

    Javascript 如何结束一个函数

  26. 26

    Javascript onkeydown 一个函数

  27. 27

    javascript中的多个函数一个接一个

  28. 28

    在同一个“返回值对象”中访问一个 javascript 函数

  29. 29

    从一个函数中调用 2 个函数

热门标签

归档