我很想生活在一个无棉绒的世界里。JSLint 就是这样。但是我遇到了一些我不确定是否应该忽略或修复的问题。具体来说,我得到了一些:
[functionName] not defined
错误。我确实认识到您应该始终在使用它之前定义该函数,并且我认为这是消息真正警告的内容,但这里有两种情况,我认为有一个有效的例外:
jQuery(document).ready(function($) {
// code goes here
}
在一个以 jQuery 的典型无冲突包装器开头的简单文件中,我收到一条警告说“jQuery(document).ready(function($) {”没有定义。显然 jQuery 是在一个单独的文件中定义的,需要保持独立。 那有意义吗?
第二个例子非常相似,尽管可以说它更容易避免。在这种情况下,我的项目中有两个 JS 文件。一个看起来就像上面的那个(又名,它是一组 DOM 触发的事件,包装在 jQuery 的“就绪”事件中)。另一个有许多帮助函数,如下所示:
function doSomethingImportant() { };
function doSomethingImpressive() { };
然后在第一个 JS 文件中调用这些函数。JSLint 不喜欢这样,每次第一个 JS 文件调用第二个 JS 文件中定义的函数时都会抱怨: doSomethingImportant() { 未定义。然而实际上,由于函数是在加载时定义的,并且对这些函数的调用总是在之后基于 DOM 事件发生,因此似乎从来没有真正的问题。
无论如何,对想法持开放态度。这是过滤 JSLint 的建议还是我应该在代码中修复的情况?