我目前正在 Firefox 中调试我网站的下一层,并在我的 JavaScript 中发现了一个非常奇怪的错误。在 Firefox 中,是否真的需要在引用这些函数的任何代码行上方定义函数?这对我来说真的很奇怪。
这是导致错误的简化版本:
var myClass = new MyClass(myCallback);
function myCallback() {
// code
}
它引发了以下错误:错误:未定义 myCallback
为了让它在 Firefox 中工作,我需要做的是:
var myCallback = function() {
// code
}
var myClass = new MyClass(myCallback);
所以我的问题是:这是正常行为还是其他原因?我的意思是,我以后编码时需要考虑到这一点吗?
最佳答案
当您使用以下格式启动时,您必须先定义该函数,然后再调用它:
myCallback = function() {
// code
}
但是当您使用格式启动时,可以在任何地方定义:
function myCallback() {
// code
}
关于JavaScript 函数未在 Firefox 中定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8810399/