5

我有跨越多个文件的对象定义,我使用以下语法向命名空间添加更多属性

var app = app || {};

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

但是 JSHint 用以下内容警告我:

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

我不确定这是否真的是错误的,因为我已经看到它多次使用,例如与模块模式一起使用。

如果没关系,我如何在全球范围内禁止该警告?我找到了一种方法来抑制给定文件的给定选项

/* jshint: -W079 */ 

但是有没有办法在全球范围内做到这一点?或者它被认为是不好的做法?

4

1 回答 1

11

用这个:

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

您正在尝试将局部变量app分配给全局变量app

于 2013-12-18T09:32:43.343 回答