Предупреждение о переопределении JSHint и добавление дополнительных свойств к объекту

У меня есть определение объекта, охватывающее несколько файлов, и я использую следующий синтаксис, чтобы добавить дополнительные свойства в пространство имен.

var app = app || {};

// and then
app.namespace = {
  ...
}

Но JSHint предупреждает меня такими вещами, как:

[L1:C5] W079: Redefinition of 'app'.
var app = app || {};

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

Если это нормально, как я могу глобально подавить это предупреждение? Я нашел способ подавить данную опцию для данного файла с помощью

/* jshint: -W079 */ 

но есть ли способ сделать это глобально? Или это считается плохой практикой?


person Michal Ostruszka    schedule 19.09.2013    source источник


Ответы (1)


использовать это:

window.app = window.app || {};

Вы пытаетесь присвоить локальную переменную app глобальной переменной app.

person Rusi Papazov    schedule 18.12.2013
comment
О, я понял. На самом деле результат такой же на верхнем уровне, я думаю :) Спасибо. - person Michal Ostruszka; 18.12.2013