Предупреждение о переопределении JSHint и добавление дополнительных свойств к объекту
У меня есть определение объекта, охватывающее несколько файлов, и я использую следующий синтаксис, чтобы добавить больше свойств в пространство имен
var app = app || {};
// and then
app.namespace = {
...
}
Но JSHint предупреждает меня такими вещами, как:
[L1:C5] W079: Redefinition of 'app'.
var app = app || {};
Я не уверен, что это действительно неправильно, поскольку я видел, что это использовалось много раз, например, вместе с шаблоном модуля.
Если это нормально, как я могу подавить это предупреждение? Я нашел способ подавить данную опцию для данного файла с
/* jshint: -W079 */
но есть ли способ сделать это глобально? Или это считается плохой практикой?
1 ответ
Решение
Использовать этот:
window.app = window.app || {};
То, что вы пытаетесь назначить приложение локальной переменной для приложения глобальной переменной.