如何在ecmascript 6中的warriorjs游戏中定义方法?

我正在用warriorjs游戏学习nodejs 它给了我一个简单的类:

class Player {
    playTurn(warrior) {
    }
}
global.Player = Player;

因此,我想为Player类创建一个方法。例如:

class Player {
    playTurn(warrior) {
        foo();
    }

    playTurn(warrior) {
        foo();
    }

    foo() {}
}
global.Player = Player;

我以为这是在js中创建方法的方法,但它给出了错误:

undefined:25
      foo();
      ^
ReferenceError: foo is not defined
    at Player.playTurn (eval at loadPlayer (/usr/lib64/node_modules/warriorjs/lib/Level.js:155:94), <anonymous>:25:7)
    at Warrior.playTurn (/usr/lib64/node_modules/warriorjs/lib/units/Warrior.js:38:24)
    at Warrior.prepareTurn (/usr/lib64/node_modules/warriorjs/lib/units/Base.js:280:12)
    at /usr/lib64/node_modules/warriorjs/lib/Level.js:177:23
    at Array.forEach (native)
    at Level.play (/usr/lib64/node_modules/warriorjs/lib/Level.js:176:36)
    at Game.playCurrentLevel (/usr/lib64/node_modules/warriorjs/lib/Game.js:130:30)
    at Game.playNormalMode (/usr/lib64/node_modules/warriorjs/lib/Game.js:120:16)
    at Game.start (/usr/lib64/node_modules/warriorjs/lib/Game.js:70:14)
    at Runner.run (/usr/lib64/node_modules/warriorjs/lib/Runner.js:42:18)

有人可以帮我弄清楚吗?

Oleksandr T.

使用this.,因为.fooPlayer's方法,而不是全局函数

playTurn(warrior) {
  this.foo();
}

如果要不foo使用.this,则需要添加foo功能,例如

function foo() {

} 

class Player {
    playTurn(warrior) {
        foo();
    }

    playTurn(warrior) {
        foo();
    }
}

global.Player = Player;

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在ECMAScript类中调用方法

如何在JavaScript 2015(EcmaScript 6)中对此进行别名?

for ... of循环语句如何在Javascript中起作用?(ECMAScript 6)

如何在ecmascript 6中导入json文件?

如何在ecmascript-6中导入模块?

如何在网页中使用ECMAScript6模块

如何在Ionic中使用EcmaScript 6功能?

如何在ECMAScript 5中具有块作用域

如何在班级中定义和访问列表-如何在纸牌游戏中访问玩家的手

如何在Firefox和Chrome中同时使用“ let”(和受支持的ECMAScript 6功能)

如何在Visual Studio Code RC5中禁用Ecmascript 6掉毛警告?

如何在ES6中获取Set的第一个元素(EcmaScript 2015)

如何在HTML脚本标签中管理ECMAScript 6 Harmony模块?

如何在Unity中制作的游戏中删除窗框?

如何使用SFML在蛇游戏中定义游戏结束?

如何在JavaCC中实现JavaScript / ECMAScript“此处没有LineTerminator”规则?

ES7是ECMAScript2016的别称吗?如何在React中编写它?

如何从文件中获取数据并替换Sudoku游戏中的预定义数组

用户在Swift中购买游戏物品时,如何在游戏中减去硬币?

如何定义在SFML游戏中使用多少CPU?

如何在2048游戏中换档?

如何在我的游戏中搜索Google

如何在我的游戏中实现 SharedPreferences

如何在 PONG 游戏中更新分数

如何在纸牌游戏中检测“手”

如何在Python游戏中修复图像?

如何在游戏中处理ArrayIndexOutOfBoundsException

如何在Phaser游戏中添加Div

如何在益智游戏中添加声音?