奇怪的 JavaScript 行为? [已关闭]

问题描述 投票:0回答:4

我有一个调用其他函数的简单函数:

function update() {
    updateMissiles();
    updatePlayer;
    updateTurbines();

}

它们在各方面都很相似,除了如果我在其末尾加上括号, updatePlayer 将不会运行。这不会破坏任何代码,但我仍然很好奇为什么会这样做?

javascript function
4个回答
2
投票

我猜测

updatePlayer
方法中有一个异常,并且由于您没有在上面粘贴的代码中调用它,所以您没有收到异常。

我会打开您使用的任何浏览器的开发人员工具,看看是否抛出任何 JavaScript 异常。


1
投票

你很困惑。

updatePlayer;
不会调用
updatePlayer
函数。
updatePlayer();
确实如此。 您的代码中还发生了其他事情。


0
投票

如果不了解更多信息,就不可能准确定位,但作为最佳猜测 - 在

update
函数的范围内,
updatePlayer
变量不是函数。

尝试记录或调试您的 JavaScript 以了解发生了什么情况。


0
投票

仅当您在函数名称后添加

()
时,函数才会运行。 如果不加括号,您将获得函数的内容。 例如,如果您有:

function updatePlayer(){ alert('This is a player');}

并且不带括号调用它:

alert(updatePlayer);

警报输出将为

function updatePlayer(){ alert('This is a player');}

如果您想使用回调函数,则使用此功能。

© www.soinside.com 2019 - 2024. All rights reserved.