我有一个调用其他函数的简单函数:
function update() {
updateMissiles();
updatePlayer;
updateTurbines();
}
它们在各方面都很相似,除了如果我在其末尾加上括号, updatePlayer 将不会运行。这不会破坏任何代码,但我仍然很好奇为什么会这样做?
我猜测
updatePlayer
方法中有一个异常,并且由于您没有在上面粘贴的代码中调用它,所以您没有收到异常。
我会打开您使用的任何浏览器的开发人员工具,看看是否抛出任何 JavaScript 异常。
你很困惑。
updatePlayer;
不会调用 updatePlayer
函数。 updatePlayer();
确实如此。 您的代码中还发生了其他事情。
如果不了解更多信息,就不可能准确定位,但作为最佳猜测 - 在
update
函数的范围内,updatePlayer
变量不是函数。
尝试记录或调试您的 JavaScript 以了解发生了什么情况。
仅当您在函数名称后添加
()
时,函数才会运行。
如果不加括号,您将获得函数的内容。
例如,如果您有:
function updatePlayer(){ alert('This is a player');}
并且不带括号调用它:
alert(updatePlayer);
警报输出将为
function updatePlayer(){ alert('This is a player');}
如果您想使用回调函数,则使用此功能。