我目前正在调试Firefox中的下一层网站,并在我的JavaScript中发现了一个非常奇怪的错误。在Firefox中,是否需要在引用这些函数的任何代码行之上定义函数?这对我来说真的很奇怪。
var myClass = new MyClass(myCallback);
function myCallback() {
// code
}
它抛出了以下错误:Error: myCallback is not defined
var myCallback = function() {
// code
}
var myClass = new MyClass(myCallback);
所以我的问题是:这是正常行为还是其他事情发生了?我的意思是,在将来编码时我是否需要考虑这一点?
答案 0 :(得分:13)
当您使用以下格式启动时,必须在调用之前定义该函数:
myCallback = function() {
// code
}
但是当您使用以下格式启动时,应该可以定义任何位置:
function myCallback() {
// code
}