Как отключить предупреждения об этом и строгом режиме с помощью JSHint?

Я пишу веб-приложение с помощью AngularJS (v1.5), поэтому у меня есть некоторые контроллеры, и в этих контроллерах я часто заявляю что-то вроде:

function myController($someDirectives, ...){
    var ctrl = this;
    // My code
}

Дело в том, что когда я JSHint мой код, я получаю это предупреждение для всех моих "это", объявленных в контроллерах:

Если функция строгого режима выполняется с помощью вызова функции, ее значение "this" будет неопределенным.

Я должен уточнить, что в моем файле.jshintrc я установил "strict":false. Кто-нибудь знает, как отключить это сообщение в частности?

Заранее спасибо.

Ответы

Ответ 1

установить конфигурацию в файле .jshintrc

{
  "validthis": true // Tolerate using this in a non-constructor 
}

Ответ 2

Вы всегда можете переопределить параметры jshint в блоке кода, т.е.

/* jshint validthis: true */

Ответ 3

У меня такая же проблема. Я делаю " косвенный вызов " с рассматриваемой функцией, а не "вызов функции", а "это" многократно ссылается на тело функции.

В моем случае у меня было так много таких "ошибок", что jsHint прекратил работу перед сканированием всего моего скрипта.

Чтобы обойти это, я помещал это в начало моего файла сценария:

/*jshint maxerr: 10000 */

Он не подавил ошибки, но, по крайней мере, это позволило мне прокрутить вниз, чтобы увидеть jsHint-анализ всего скрипта.