Javascript 如何从方法函数中获取对象值或函数?

Javascript 如何从方法函数中获取对象值或函数?,javascript,Javascript,如何从方法函数中获取对象中的值或函数 例如: function Game(playerName) { this.player = playerName; this.scoreWins = 0; this.scoreLoses = 0; this.getCheckLetter = function () { document.onkeyup = myKeyUpHandler; function myKeyUpHandler() { firstName = t

如何从方法函数中获取对象中的值或函数

例如:

function Game(playerName) {
  this.player = playerName;
  this.scoreWins = 0;
  this.scoreLoses = 0;

  this.getCheckLetter = function () {
    document.onkeyup = myKeyUpHandler;

  function myKeyUpHandler() {
    firstName = this.player;
    console.log(firstName);
    }
  }
}

首先,您应该倾向于使用
[element].addEventListener(…)
而不是
document.on[event name]
,因为某些脚本可能会在以后的事故中删除事件侦听器

接下来,当您绑定事件侦听器时,事件侦听器函数中的
this
将成为事件侦听器所在的元素。为了避免这种情况,必须将函数专门绑定到另一个对象。在这种情况下,我将
this.myKeyUpHandler
绑定到
this
,即
游戏
对象

在聚焦文档后点击关键点的输出是,您会收到一些带有已启动玩家姓名的控制台通知

功能游戏(玩家名称){
this.player=playerName;
这是0.scoreWins=0;
这是0;
this.myKeyUpHandler=函数(){
firstName=this.player;
console.log(名字);
}
document.addEventListener('keyup',this.myKeyUpHandler.bind(this));
}

让保罗=新游戏(“保罗”)
你的目标到底是什么?仅供参考,因为
myKeyUpHandler
不是
游戏
原型的一部分,它将无法访问
作为
游戏
的一个实例。这看起来很混乱。我想弄清楚如何在我的方法函数中获取玩家名称