如何在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中创build一个方法的方式,但它给错误:

 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) 

有人可以帮我弄明白吗?

  • 发送非公开文件作为回复附件(下载非公开文件)
  • Nodejs / Javascriptcallback使用 - 等待API调用
  • 在express.js中处理POST请求时出现404错误
  • Node.js TypeError:熊不是一个函数
  • 发电机,承诺和合作或然后收益
  • 如何将对象插入到meteorcollections中
  • 不能在Node.js上使用URL模块,不能调用未定义的方法“parse”
  • 将嵌套的'for'循环转换为Promise,Promise? 嵌套承诺?
  • 使用this. ,因为.fooPlayer's方法,不是全局函数

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

    如果你想调用没有.this foo ,你需要添加foo函数,就像这样

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

    你只需要用this.foo()来调用它