JS名称空间Netbeans变量未声明

时间:2016-01-23 17:57:54

标签: javascript netbeans namespaces javascript-namespaces

当我在JavaScript中定义命名空间时,Netbeans给出了一个全局变量未声明错误,而我认为它不应该。这是为什么? 演示代码:

var MyNamespace = new function () {
    var MyClass = function () {};
    MyClass.SOME_CONSTANT = 9; // MyClass not defined
    this.MyClass = MyClass; // MyClass not defined
};

我检查过,这段代码可以在IE(文档模式IE 5)和Edge 13中运行。代码是模块模式,就像this回答一样。

编辑:首先声明一个变量可能没用,因为命名空间内的函数有时会更改局部变量而不是公共名称空间中的变量,对不对?不过,我想知道为什么Netbeans会给我一个错误。

2 个答案:

答案 0 :(得分:7)

您可以在顶部添加注释,告诉Netbeans忽略该错误。 例如,当使用角度

/* global angular */

将阻止

之类的错误
angular.module('Module', []);

答案 1 :(得分:0)

我正在使用NetBeans IDE 8.2(Build 201705191307)

如果您想完全忽略此类错误,我建议您:

Tools > Options > Editor > Hints > Uncheck "The global variable is not declared"

enter image description here

它对我有用。