Javascript 未捕获范围错误:超出了最大调用堆栈大小

Javascript 未捕获范围错误:超出了最大调用堆栈大小,javascript,html,canvas,Javascript,Html,Canvas,我目前正在开发一个javascript canvas 2D游戏引擎,我遇到了一些关于requestAnimFrame的问题。 在我看来,我这样做是正确的,但过了一段时间后,我出现了以下错误(未捕获范围错误:超出了最大调用堆栈大小) 您可以在此处查看源代码:我猜这行代码: requestAnimFrame(this.mainGameLoop()); 应该是这样的: var self = this; requestAnimFrame(function() {self.mainGameLoop()}

我目前正在开发一个javascript canvas 2D游戏引擎,我遇到了一些关于
requestAnimFrame
的问题。 在我看来,我这样做是正确的,但过了一段时间后,我出现了以下错误
(未捕获范围错误:超出了最大调用堆栈大小)


您可以在此处查看源代码:

我猜这行代码:

requestAnimFrame(this.mainGameLoop());
应该是这样的:

var self = this;
requestAnimFrame(function() {self.mainGameLoop()});

因此,您的回调稍后将作为回调调用,而不是立即执行。

是的,就是这样。。。非常感谢;)