Ответ 1
установить конфигурацию в файле .jshintrc
{
"validthis": true // Tolerate using this in a non-constructor
}
Я пишу веб-приложение с помощью AngularJS (v1.5), поэтому у меня есть некоторые контроллеры, и в этих контроллерах я часто заявляю что-то вроде:
function myController($someDirectives, ...){
var ctrl = this;
// My code
}
Дело в том, что когда я JSHint мой код, я получаю это предупреждение для всех моих "это", объявленных в контроллерах:
Если функция строгого режима выполняется с помощью вызова функции, ее значение "this" будет неопределенным.
Я должен уточнить, что в моем файле.jshintrc я установил "strict":false
. Кто-нибудь знает, как отключить это сообщение в частности?
Заранее спасибо.
установить конфигурацию в файле .jshintrc
{
"validthis": true // Tolerate using this in a non-constructor
}
Вы всегда можете переопределить параметры jshint в блоке кода, т.е.
/* jshint validthis: true */
У меня такая же проблема. Я делаю " косвенный вызов " с рассматриваемой функцией, а не "вызов функции", а "это" многократно ссылается на тело функции.
В моем случае у меня было так много таких "ошибок", что jsHint прекратил работу перед сканированием всего моего скрипта.
Чтобы обойти это, я помещал это в начало моего файла сценария:
/*jshint maxerr: 10000 */
Он не подавил ошибки, но, по крайней мере, это позволило мне прокрутить вниз, чтобы увидеть jsHint-анализ всего скрипта.