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