SWd*_*WdV 4 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
};
Run Code Online (Sandbox Code Playgroud)
我检查了这个代码在IE(文档模式IE 5)和Edge 13中工作.代码是一个模块模式,就像在这个答案中的语法.
编辑:首先声明一个变量可能没用,因为命名空间内的函数有时会改变局部变量而不是公共命名空间中的变量,对不对?不过,我想知道为什么Netbeans会给我一个错误.
您可以在顶部添加注释,这将告诉Netbeans忽略该错误.例如使用角度时
/* global angular */
Run Code Online (Sandbox Code Playgroud)
会阻止像这样的错误
angular.module('Module', []);
Run Code Online (Sandbox Code Playgroud)