Custom created CommonJS modules in a combination with browserify is a sensible and powerful way to create a modular project structure without loosing the incredible freedom and programming fun fun that javascript provides.
The function checks if it is created and if not it will return a new instance of itself. It uses the new method if you prefer that.
Just returns a object, nothing fancy. The object will be static without a closure.
Returns a static IIFE. Nothing fancy here either.
Returns a object with a create function, the create function returns a object with a object argument. And it returns a new object each time create is called.
Same as the factory class, but you can extend it with more functionality. When combined with a object merge function you can then pass other objects to the create function for custom objects. If you see the very nice advantages in this you should take a look at Stampit.