【问题标题】:Is it possible to validate my jQuery JavaScript with JSLint?是否可以使用 JSLint 验证我的 jQuery JavaScript?
【发布时间】:2011-05-03 13:21:30
【问题描述】:

我想用 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 代码质量的东西吗?

【问题讨论】:

    标签: javascript jquery jslint


    【解决方案1】:

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

    $(document).ready(function() {
    

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

    如果您想删除Implied global: $, document 消息,请转到它具有预定义(,分隔) 的底部,然后将jQuery, $ 放入该文本框中,然后再次运行。对于 document 部分,请在第一列中选​​中 Assume a browser

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

    【讨论】:

    • 为避免出现警告,您可以在代码中添加: /*node browser: true */ /*global $ */
    • jslint 不接受隐含的全局变量,让 jslint 停止抱怨的唯一方法是放置 /*jslint browse: true, continue : true, devel : true, indent : 4, maxerr : 50 , newcap : true, nomen : true, plusplus : true, regexp : true, sloppy : true, vars : true, white : true *//*global jQuery: false, $: false */ 在文件顶部。不知道是不是mac上的chrome今天表现得很有趣,但是当我在全局区域输入jQuery和$时,它不起作用?
    【解决方案2】:

    将其添加到文档顶部以对其进行验证:

    /*jslint browser: true*/ /*global  $*/
    

    【讨论】:

    • 感谢您关注实际问题。我有同样的一个,语法正确,这很成功。
    • 即使在 2018 年,我也一直在快速寻找这个并在这里找到它。假设代码很好,它恰好回答了这个问题。
    【解决方案3】:

    尼克关于你的语法是正确的。最新版本的 jQuery (1.4.3) 通过了 JSLint 测试。见这篇博文:http://blog.jquery.com/2010/10/16/jQuery-143-released/

    【讨论】:

    • 我想他问的是他自己的使用 jQuery 的代码,而不是 jQuery 本身。
    猜你喜欢
    • 2012-05-20
    • 1970-01-01
    • 2012-01-25
    • 2011-03-20
    • 1970-01-01
    • 1970-01-01
    • 2013-10-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多