This namespacing is called the "Singleton pattern" and it's one of the main patterns reccomended by the famous "Gang of Four" design patterns book.
From the great (and free) book Learning JavaScript Design Patterns:
Classically, the Singleton pattern can be implemented by creating a
class with a method that creates a new instance of the class if one
doesn't exist. In the event of an instance already existing, it simply
returns a reference to that object.The Singleton pattern is thus known
because it restricts instantiation of a class to a single object.
In JavaScript, singletons serve as a namespace provider which isolate
implementation code from the global namespace so as to provide a
single point of access for functions.
They can take on a number of different forms, but in its most basic, a
Singleton could be implemented as an object literal grouped together
with its related functions and properties...
So yes, it's a well used concept in many programming languages and a great for preventing global namespace object collisions in JavaScript.
See also: Simplest/Cleanest way to implement singleton in JavaScript?