我有一个简单的函数来调用其他功能:奇怪的JavaScript行为?
function update() {
updateMissiles();
updatePlayer;
updateTurbines();
}
它们类似于除了updatePlayer各种方式相互如果我把支架上它的结束将不会运行。这不会破坏任何代码,但我仍然好奇它为什么这样做?
我有一个简单的函数来调用其他功能:奇怪的JavaScript行为?
function update() {
updateMissiles();
updatePlayer;
updateTurbines();
}
它们类似于除了updatePlayer各种方式相互如果我把支架上它的结束将不会运行。这不会破坏任何代码,但我仍然好奇它为什么这样做?
我猜在updatePlayer
方法中有个例外,既然你没有在上面粘贴的代码中调用它,你没有得到Exception。
我会为您使用的任何浏览器打开开发工具,看看是否有任何JavaScript异常被抛出。
你很困惑。 updatePlayer;
不会调用updatePlayer函数。 updatePlayer();
呢。你的代码中正在发生其他事情。
不知道更多它不可能精确定位,但作为最佳猜测 - 在update
函数的范围内,updatePlayer
变量不是函数。
尝试记录或调试您的JavaScript以了解发生了什么。
只有在名称后面加上()
,函数才会运行。 如果你不放置括号,你会得到函数的内容。 例如,如果您有:
function updatePlayer(){ alert('This is a player');}
,并调用它没有括号:
alert(updatePlayer);
的警告输出将是
function updatePlayer(){ alert('This is a player');}
,如果你想使用回调函数时使用。
没有任何关于'updatePlayer'的知识,这是不可能的。但函数不会运行,除非它被调用,并且调用一个函数意味着'()'。 – 2012-02-07 16:31:21
@BogdanProtsenko:什么是'updatePlayer'? “_updatePlayer不会运行_”和你如何检查它是否已经运行? – Tadeck 2012-02-07 16:32:27
你的具体错误信息是什么?我的猜测是'updatePlayer'不是'update'执行时的函数。就在'updatePlayer'之前,编写'console.log(updatePlayer)'来查看它的值。 – benekastah 2012-02-07 16:32:33