Какие правила управляют встроенными директивами jslint - PullRequest
4 голосов
/ 21 сентября 2011

Я пытаюсь сохранить исключение jslint как можно ближе к ошибке, чтобы не скрыть ошибки по ошибке.Неиспользуемый параметр в примере - x в функции f2, и я хотел бы только исключить это вхождение.

Первый пример, исключая окружающие функции, работает, но будет скрывать другие ошибки, если таковые имеются:

/*jslint unparam: true*/
function test1() {
    var f1 = function (x) {
            alert(x);
        },
        f2 = function (x) {};

    f1(0);
    f2(0);
}
/*jslint unparam: false*/

Окружение оператора var также работает, но будет скрывать ошибки в f1:

function test2() {
    /*jslint unparam: true*/
    var f1 = function (x) {
            alert(x);
        },
        f2 = function (x) {};
    /*jslint unparam: false*/

    f1(0);
    f2(0);
}

Эта ошибка генерирует ошибку: «Ожидается идентификатор и вместо этого увидено» / * jslint'(зарезервированное слово). ".

function test3() {
    var f1 = function (x) {
            alert(x);
        },
        /*jslint unparam: true*/
        f2 = function (x) {};
        /*jslint unparam: false*/

    f1(0);
    f2(0);
}

Вопрос в том, где в источнике вы можете иметь директивы jslint?

1 Ответ

6 голосов
/ 23 сентября 2011

Только исключение одной из функций в том же объявлении var невозможно.Как сказано в комментарии, только полные операторы могут иметь директивы jslint;в итоге получилось следующее:

function test4() {
    var f1, f2;

    f1 = function (x) {
        alert(x);
    };

    /*jslint unparam: true*/
    f2 = function (x) {};
    /*jslint unparam: false*/

    f1(0);
    f2(0);
}
...