为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript:使用此调用类中的方法

Javascript:使用此调用类中的方法

泛舟湖上清波郎朗 2021-11-18 17:19:45
现在我的代码按预期工作,但我不明白this这个地方的关键字。当我尝试调用mainLooprequestAnimationFrame 中的方法时,window.requestAnimationFrame(this.mainLoop);它不起作用。当我像在我的例子中那样尝试它时,它起作用了,但我不明白为什么我不能用 调用 mainLoop 方法this,同时能够用this.methodName();.class Game{  constructor(objects){    //some stuff  }  temp(){    a.mainLoop();  }  mainLoop(){    // some other Methods are being called here    window.requestAnimationFrame(this.temp);  }}var a = new Game(input); 我希望我能够解释,我的问题。
查看完整描述

1 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

您传入的回调window.requestAnimationFrame将在不同的上下文中运行,其中this不再是当前对象的实例。作为一种解决方法,您可以通过this.temp.bind(this)或使用箭头函数() => this.temp()


查看完整回答
反对 回复 2021-11-18
  • 1 回答
  • 0 关注
  • 125 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信