【发布时间】:2012-12-16 01:32:22
【问题描述】:
我很想生活在一个无棉绒的世界中。 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 的建议还是我应该在代码中修复的情况?
【问题讨论】:
-
看页面底部,有一个输入框,predefine global variables here。只需在此处添加所有不带逗号的全局变量,例如
jQuery doSomethingImportant doSomethingImpressive.
标签: javascript jquery jslint