Можно ли проверить мой jQuery JavaScript с помощью JSLint? - PullRequest
31 голосов
/ 01 ноября 2010

Я хотел проверить свой JavaScript с помощью JSLint. Я также использую jQuery, и JSLint, похоже, очень недоволен jQuery.

Итак, если у меня есть этот код:

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

Я получаю несколько сообщений JSLint:

Ошибка:

Проблема в строке 1, символ 1: «$» использовалось до того, как было определено.

$(document).ready{

...

Я посмотрел варианты, но не мог понять, как сказать JSLint, что это нормально.

Если бы в моем коде был только один вызов jQuery, я мог бы просто проигнорировать сообщение JSLint, но в 2500 строках скрипта есть много вызовов, я не могу найти ошибки, которые я хотел бы исправить между всеми этими сообщениями.

Итак, кто-нибудь знает, как настроить JSLint так, чтобы он работал с вызовами jQuery? Или есть что-то еще, что я могу использовать для проверки качества моего кода JavaScript / jQuery?

Ответы [ 3 ]

41 голосов
/ 01 ноября 2010

Это не правильный JavaScript, он должен быть:

$(document).ready(function() {

Так что JSLint (соответственно) будет жаловаться на ваш синтаксис.

Если вы хотите избавиться от сообщения Implied global: $, document, перейдите в конец, где оно имеет Предопределенный (разделенный) , и введите jQuery, $ в это текстовое поле, а затем снова запустите. Для элемента document проверьте Предположим, браузер в первом столбце.

Все настройки JSLint сохраняются, поэтому вам не нужно делать это каждый раз, когда вы возвращаетесь.

20 голосов
/ 19 мая 2012

Добавьте это в верхней части документа, чтобы подтвердить его:

/*jslint browser: true*/ /*global  $*/
0 голосов
/ 01 ноября 2010

Ник прав насчет вашего синтаксиса. Последняя версия jQuery (1.4.3) проходит тесты JSLint. Смотрите этот пост в блоге: http://blog.jquery.com/2010/10/16/jQuery-143-released/

...