为什么JSLint会抱怨某些东西是否使用了尚未定义的函数?关键是该函数已定义 - 如果该函数调用该函数,则该函数存在并且事情将起作用。
看看下面的代码:
function foo()
{
// calls bar()
};
function bar()
{
// calls foo()
};
没有办法以这样的方式组织这两种方法,这样可以使JSLint满意。我该如何处理这个问题?
看到这个答案:
Contending with JS "used before defined" and Titanium Developer
基本上,如果使用foo = function() { ... }
表单,则可以在顶部声明var foo, bar;
以避免JSLint错误。
据我所知,JSLint无法解决这个问题,但基于JSLint的JSHint以适当的方式解决了这个问题。
只需使用“latedef”属性并将其设置为“false”即可。如果你想要检测这些有问题的变量定义,但是想要使用函数表达式并允许挂起这些函数,你可以设置“latedef”:“nofunc”。
看看here。
我刚刚处理了一个与此非常相似的问题,问题是我的脚本在函数调用后就位了,
function zzzzz () {
aaaaa();
ccccc();
}
function aaaaa() {
blah = bla blah blah;
}
function bbbbb() {
blah = bla blah blah;
}
function ccccc() {
blah = bla blah blah;
}
所以我在脚本之后放置了函数调用并且它解决了问题,所以基本的我现在看不到几天的答案,所以试一试
function aaaaa() {
blah = bla blah blah;
}
function bbbbb() {
blah = bla blah blah;
}
function ccccc() {
blah = bla blah blah;
}
function zzzzz () {
aaaaa();
ccccc();
}
祝你好运,我希望这会有所帮助