If you’d like to create just one instance of a Class, you’d better use this singleton pattern:
var singleton = function() { /* Private variables */ var privateVariable; /* Private methods */ function privateFunction(x) { // do something here... } return { /* Public variables */ publicVariable = 15, /* Public methods */ getVariable: function() { return privateVariable; }, setVariable: function() { privateVariable = 18; privateFunction(); } }; }();
The magic of this pattern lies in the instanciation of the singleton:
the main function is called directly due to the ‘()’ at the end.