奇怪的JavaScript行为?

时间:2012-02-07 16:30:13

标签: javascript function

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

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

}

它们在各方面都彼此相似,但如果我在其末尾放置括号,则updatePlayer将无法运行。这不会破坏任何代码,但我仍然好奇为什么会这样做?

4 个答案:

答案 0 :(得分:3)

我猜测updatePlayer方法中存在异常,因为您没有在上面粘贴的代码中调用它,所以您没有得到异常。

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

答案 1 :(得分:1)

你很困惑。 updatePlayer;不会调用updatePlayer函数。 updatePlayer();。你的代码中正在发生其他事情。

答案 2 :(得分:0)

在不了解更多内容的情况下,无法精确定位,但作为最佳猜测 - 在update函数的范围内,updatePlayer变量不是函数。

尝试记录或调试您的javascript以了解正在发生的事情。

答案 3 :(得分:0)

只有在()后面加上function updatePlayer(){ alert('This is a player');} 时,才能运行该功能。 如果你没有放括号,你将获得该功能的内容。 例如,如果你有:

alert(updatePlayer);

并且不带括号称呼它:

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

警报输出将是

{{1}}

如果要使用回调函数,则使用此方法。