31

我想用 JSLint 检查我的 JavaScript。我也在使用 jQuery,而 JSLint 似乎对 jQuery 很不满意。

所以,如果我有这个代码:

$(document).ready{
    $("a").click(function() {
        // foo
    });
});

我收到了一些 JSLint 消息:

错误:

第 1 行字符 1 的问题:在定义之前使用了“$”。

$(document).ready{

...

我查看了选项,但不知道如何告诉 JSLint 这没关系。

如果我的代码中只有一个 jQuery 调用,我可以忽略 JSLint 消息,但在 2,500 行脚本中有很多调用,我无法在所有这些消息之间找到我想修复的错误。

那么,有谁知道如何配置 JSLint 以使其与 jQuery 调用一起使用?或者还有什么我可以用来检查我的 JavaScript/jQuery 代码质量的东西吗?

4

3 回答 3

41

这不是有效的 JavaScript,它应该是:

$(document).ready(function() {

所以 JSLint 会(适当地)抱怨你的语法。

如果您想摆脱该Implied global: $, document消息,请转到它具有Predefined (, separator)的底部,然后放入jQuery, $该文本框,然后再次运行。对于这document件作品,请在第一列中选​​中假设浏览器。

所有 JSLint 设置都会保留,因此您不必每次返回时都执行此操作。

于 2010-11-01T17:37:22.417 回答
21

将此添加到文档顶部以使其验证:

/*jslint browser: true*/ /*global  $*/
于 2012-05-19T07:26:20.377 回答
0

尼克对您的语法是正确的。最新版本的 jQuery (1.4.3) 通过了 JSLint 测试。请参阅此博客文章:http ://blog.jquery.com/2010/10/16/jQuery-143-released/

于 2010-11-01T17:41:07.760 回答