Предупреждение о переопределении 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 || {};

То, что вы пытаетесь назначить приложение локальной переменной для приложения глобальной переменной.

Другие вопросы по тегам