Namespace your JavaScript

There are a couple of ways to create namespaces for your code.  This format allows you to intentionally expose functions as public or keep them internal/private.  I like the following version…

 

var mynamespace = new function () {

var internalFunction = function() {
     //TODO: code
};

this.publicFunction = function() {
    //TODO: code
};

};

To execute the above public function from the global namespace would be done like mynamespace.publicFunction();  Obviously, you can use smaller/shorter names to make it easier to type.

Simple, now why the heck do this?

  • A namespace is a container and allows you to bundle up all your functionality using a unique name
  • In JavaScript a namespace is really just an object that you have attached all further methods, properties and objects
  • Without the usage of namespaces every function will be in the global (aka window) namespace (this occurs by default if you do not use a namespace).  It is a good practice not to clutter the global namespace
  • Using namespaces prevents the overwriting of existing function names
  • Using namespaces is one step in the direction of object-oriented which promotes modularity and code re-use

Author

David

comments powered by Disqus

Categories

Recent Tweets

"Setting up and Getting Started with Power BI Embedded | Data Exposed" channel9.msdn.com/Shows/Data-Exp… #webcast #feedly
Retweeted by @dyardy @scottgu @victoriabeckham Worlds collide, double take on that photo!
@scottgu @victoriabeckham Worlds collide, double take on that photo!
@projectedxyz It is really easy, what are you doing (isn't this data which on the web)