我正在使用 HTML 画布编写一个简单的游戏并使用 JavaScript 对其进行编辑。我有几个在画布上绘制东西的函数,所有这些函数都使用单个 setInterval 循环。然而,其中一些函数需要有一个局部变量,该变量包含该函数的某个属性(准确地说,一个切换,一个函数是否为“xx”),并且由于这些函数中有很多,存储这个全局窗口中的变量是非常不实用的。
有没有一种方法可以在此函数中定义变量(或属性),而无需在每个循环中都重置此变量?
所以在代码中我有:
var DoSomething = function(){
var xx = new Boolean
[...]
if (condition) { xx = false}
if (condition) { xx = true}
}
并且全部在主循环中执行:
var gameLoop = function(){
DoSomething()
OtherFunctions()
}
var startGame = function(){
setInterval(gameLoop,10)
}
startGame()
就像我说的,在全局窗口中定义是非常不切实际的,因为这个属性/变量xx
有很多函数。xx
但是现在,循环xx
在循环开始时不断重置。有没有办法在这里定义局部变量,而不用 setInterval 的每个循环来重置它?