admin管理员组

文章数量:1287623

When I was defining a namespace in JavaScript, Netbeans gave a global variable not declared error while I think it shouldn't. Why is this?
Demonstration code:

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

I checked and this code works in IE (document mode IE 5) and Edge 13. The code is a Module Pattern like syntax like in this answer.

EDIT: first declaring a variable is probably not useful, for a function inside the namespace will sometimes change the local variable instead of that in the public namespace, am I right? Still, I wonder why Netbeans gives me an error.

When I was defining a namespace in JavaScript, Netbeans gave a global variable not declared error while I think it shouldn't. Why is this?
Demonstration code:

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

I checked and this code works in IE (document mode IE 5) and Edge 13. The code is a Module Pattern like syntax like in this answer.

EDIT: first declaring a variable is probably not useful, for a function inside the namespace will sometimes change the local variable instead of that in the public namespace, am I right? Still, I wonder why Netbeans gives me an error.

Share Improve this question edited May 23, 2017 at 12:24 CommunityBot 11 silver badge asked Jan 23, 2016 at 17:57 SWdVSWdV 1,9871 gold badge20 silver badges39 bronze badges
Add a ment  | 

2 Answers 2

Reset to default 11

You can add a ment to the top which will tell Netbeans to ignore the error. For example when using angular

/* global angular */

Will prevent the error for things like

angular.module('Module', []);

I am using NetBeans IDE 8.2 (Build 201705191307)

If you want to pletely ignore this type of error, I would suggest this:

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

It worked for me.

本文标签: javascriptJS namespace Netbeans variable not declaredStack Overflow