Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JS namespace Netbeans variable not declared

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.

like image 733
SWdV Avatar asked Jan 23 '16 17:01

SWdV


2 Answers

You can add a comment 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', []);
like image 193
user184994 Avatar answered Oct 08 '22 08:10

user184994


I am using NetBeans IDE 8.2 (Build 201705191307)

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

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

enter image description here

It worked for me.

like image 3
joaorodr84 Avatar answered Oct 08 '22 08:10

joaorodr84