Firefox中没有定义JavaScript函数?

时间:2012-01-10 20:56:31

标签: javascript debugging firefox error-handling

我目前正在调试Firefox中的下一层网站,并在我的JavaScript中发现了一个非常奇怪的错误。在Firefox中,是否需要在引用这些函数的任何代码行之上定义函数?这对我来说真的很奇怪。

以下是导致错误的简化版本:

var myClass = new MyClass(myCallback);

function myCallback() {
    // code
}

它抛出了以下错误:Error: myCallback is not defined

这就是我需要做的才能在Firefox中工作:

var myCallback = function() {
    // code
}

var myClass = new MyClass(myCallback);

所以我的问题是:这是正常行为还是其他事情发生了?我的意思是,在将来编码时我是否需要考虑这一点?

1 个答案:

答案 0 :(得分:13)

当您使用以下格式启动时,必须在调用之前定义该函数:

myCallback = function() {
    // code
}

但是当您使用以下格式启动时,应该可以定义任何位置:

function myCallback() {
    // code
}