Действительно ли JSLint доступен для офлайнового использования?

Ответ зависит от того, какой язык программирования вы используете. Вообще говоря, вы получите доступ к массиву 2D через его строки и столбцы с индексами. Затем, чтобы добавить элемент в это место в массиве, вы просто назначите строку для этого конкретного места. Например, в Java вы будете делать следующее:

    String[][] arr = new String[10][10];
    arr[0][0] = "Element 0";
23
задан Peter Mortensen 19 May 2012 в 19:22
поделиться

12 ответов

Если вам нравится веб-интерфейс JSLint , вы можете сделать Файл > Сохранить страницу как ... и Сохранить как тип: Веб-страница, завершить (в Firefox выполнение этого в Internet Explorer может немного отличаться) в локальную папку.

Я изменяю имя на jslint. htm , чтобы получить его под 8.3 без пробелов.

Кажется, что работает при локальном сохранении.

Три вещи:

  1. Это может нарушить его лицензию, хотя я оставляю Авторское право без изменений и не изменяю любой его код, и технически мой веб-браузер уже создал копию своего сайта на моем локальном HD, поэтому я не уверен, нарушаю ли я или нет, и я не юрист, поэтому я буду продолжать это делать пока я не получу письмо с указанием прекратить.
  2. Возможно, страница все еще сможет отправить ваш код в Интернет, хотя вероятность того, что это возможно, очень мала. Тем не менее, версии WSH или Rhino, вероятно, могли бы посылать код, который вы отправляете в Интернет, проще, чем версия на локально сохраненной веб-странице (если вы параноик).
  3. Вы будете отставать в исправлении любых ошибок или Обновления Дуглас делает. Но то же самое относится к версиям WSH или Rhino, если вы не обновляете их регулярно.
17
ответ дан 29 November 2019 в 01:14
поделиться

Если вы находитесь в среде Java, мой инструмент jslint4java может оказаться полезным. Он поставляется в варианте командной строки, а также может быть интегрирован в скрипт Ant. Нет графического интерфейса, потому что я плохо сосу. : -)

4
ответ дан 29 November 2019 в 01:14
поделиться

Существует еще один JS Linter, называемый JavaScript Lint , который имеет как онлайн, так и загружаемые версии командной строки. Я использую загружаемую версию все время. Я думал об интеграции его в SVN как часть ловушки. Мне нравится это лучше, чем JSLint, потому что он имеет больше опций и, кажется, обнаруживает больше вещей Он может быть настроен для обработки определенных идентификаторов как предопределенных, для наборов инструментов и тому подобного, что позволяет ему проверять использование неопределенных переменных, что, я уверен, JSLint не может сделать.

5
ответ дан 29 November 2019 в 01:14
поделиться

Да:

По сути, вам нужен встроенный компилятор JavaScript для запуска jslint.js.

11
ответ дан 29 November 2019 в 01:14
поделиться

JSLint can be run offline with either WSH or Rhino:

http://www.jslint.com/lint.html#try

Edit: In the two years since this question was asked, JSLint has dropped support for Rhino and WSH. I encourage anyone interested in linting their code to also check out JSHint. It's a fork of JSLint which aims to be more flexible than the original, but also happens to support Node, Rhino, and WSH (in addition to browsers, of course).

13
ответ дан 29 November 2019 в 01:14
поделиться

Довольно легко воссоздать то, что Крокфорд имеет на JSLint.com. Онлайн-версия JSLint.com .js - это минимизированная конгломерация нескольких файлов, включающая некоторые накладные расходы, которые я не совсем понимаю, например, и ADSAFE материал . Вместо этого давайте разберем его с простейшей оболочкой.

Создание собственной HTML-оболочки для JSLint:

Вот код веб-страницы, которая будет искать jslint.js ( последнюю версию JSLint в настоящее время можно найти в github здесь в виде необработанного текста ) в том же каталоге и запускается аналогично JSLint.com.

<html>
    <head>
        <script src="jslint.js"></script>

        <script>
            function jslintalizeMe()
            {
                var i, divOut, errs, errsMsg = "";

                divOut = document.getElementById("errors");
                divOut.innerHTML = "";

                if (!JSLINT(document.forms[0].elements[0].value))
                {
                    errs = JSLINT.errors;
                    for (i=0; i < errs.length; i++)
                    {
                        err = errs[i];
                        if (null !== err)
                        {
                            if (undefined !== err.id)
                            {
                                errsMsg += "Error: " 
                                + err.code 
                                + " -- line " 
                                + err.line 
                                + " char " 
                                + err.character + "<br />"
                                + "    " 
                                + err.evidence + "<br />"
                                + "    " +
                                 err.reason + "<br /><br />\n";
                            }
                            else
                            {
                                errsMsg += err.reason;
                            }
                        }
                    }
                    divOut.innerHTML = errsMsg;
                }
            }
        </script>

    </head>

    <body>

        <form>
            <textarea rows="24" cols="80"
                placeholder="// Paste quality code here"></textarea>
            <br />
            <button onclick="jslintalizeMe();return false;">JSLint</button>
        </form>

        <div id="errors"></div>
    </body>
</html>

^ Из моего старого блога .

Читатель из пословиц должен сделать GUI более клейким, но теперь это делает отчет, как и сайт JSLint.

sample JSLint output from wrapper code

0
ответ дан 29 November 2019 в 01:14
поделиться

У меня есть JSLint с кодом проверки Node.js в моих сценариях развертывания, чтобы убедиться, что я случайно не отправляю код, который может сломать мой сайт. Это может сэкономить много времени на решение вопросов поддержки клиентов позже.

0
ответ дан 29 November 2019 в 01:14
поделиться

Кори Беннет имеет хороший пост в командной строке JSLint . Большая часть вашей настройки будет работать SpiderMonkey . Не так плохо, если вы работаете в Linux; немного сложнее, если вы используете Windows и Cygwin . А вот некоторые дополнительные обсуждения и сравнения с Rhino run-time .

ОБНОВЛЕНИЕ: 2013.11 - если вы используете node.js в командной строке (а почему бы и нет?), Вы можете запустить как jslint , так и новый eslint . [NB: я добавил отчёты об ошибках и тестовый код в eshint.] Оба эти способа проще настроить, чем те, что у меня были выше…

1
ответ дан 29 November 2019 в 01:14
поделиться

У меня есть инструмент для запуска JSLint из командной строки с оболочкой SpiderMonkey или Rhino . Он также включает в себя плагин для Vim , который позволяет нажимать кнопку для автоматического выделения любых проблемных строк при редактировании файла:

http://github.com/hallettj/ jslint.vim /

2
ответ дан 29 November 2019 в 01:14
поделиться

YSlow for Firebug имеет эту функцию, встроенную в

3
ответ дан 29 November 2019 в 01:14
поделиться

Поскольку сам JSLint написан на JavaScript, вы можете запустить его в автономном режиме, скопировав HTML-файлы и ссылки на файлы JavaScript локально. Функция «Сохранить как ...» в веб-странице IE7 прекрасно справляется с этой задачей.

0
ответ дан 29 November 2019 в 01:14
поделиться

Есть отличный виджет Yahoo:

http://ajaxian.com/archives/jslint-multi

Это открытый исходный код, если вы параноик, вы можете проверить код.

alt text
(источник: googlecode.com )

0
ответ дан 29 November 2019 в 01:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: