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 };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
