JSLint внезапно выдает ошибку: Используйте функциональную форму "use strict"
Я добавляю следующую строку в начале большинства своих файлов JavaScript:
"use strict";
Ранее JSLint никогда не выдавал предупреждений об этом, но теперь он сообщает:
Используйте функциональную форму "use strict".
Кто-нибудь знает, что такое "функциональная форма"?
5 ответ(ов)
Если вы пишете модули для NodeJS, они уже имеют капсуляцию. Чтобы сообщить JSLint, что вы используете Node, добавьте в верхнюю часть вашего файла следующую строку:
/*jslint node: true */
Это позволит JSLint корректно обрабатывать код, специфичный для NodeJS.
В строковом формате нет ничего по сути плохого. Вместо того чтобы избегать "глобальной" строгой формы из-за опасений по поводу конкатенации с нестрогим JavaScript, вероятно, лучше просто привести нестрогий JavaScript к строгому виду.
Чтобы настроить ваш проект с использованием JS Lint или JSHint, вам нужно добавить файл конфигурации .jslintrc
(или .jshintrc
для JSHint) в корневую директорию вашего проекта. В этом файле должна быть следующая конфигурация:
{
"node": true
}
Это указывает инструменту, что ваш код предназначен для работы в среде Node.js. После создания этого файла ваши правила проверки кода будут соответствовать среде, в которой вы работаете.
Чтобы обработать предупреждения и необработанные исключения в Node.js, вы можете добавить следующие строки в начало вашего файла:
process.on('warning', function(e) {
'use strict';
console.warn(e.stack);
});
process.on('uncaughtException', function(e) {
'use strict';
console.warn(e.stack);
});
Эти обработчики позволят вам отслеживать и выводить стек вызовов как для предупреждений, так и для необработанных исключений, что может быть полезно для отладки вашего приложения. Убедитесь, что вы добавили их в самом начале, чтобы все события были захвачены.
Я думаю, все упустили часть вопроса о "вдруг". Скорее всего, в вашем файле .jshintrc есть синтаксическая ошибка, из-за которой строка 'browser' не учитывается. Проверьте его с помощью валидатора JSON, чтобы найти, где именно ошибка.
Где найти документацию по форматированию даты в JavaScript?
В чем разница между String.slice и String.substring?
Проверка соответствия строки регулярному выражению в JS
Существует ли ссылка на "последнюю" библиотеку jQuery в Google APIs?
Как создать диалог с кнопками "Ок" и "Отмена"