var ExampleClass = (function(){ //privates statisches Attribut var staticVar = 0; //private statische Methode function staticMethod(){ } return function(fooValue,barValue){ //private Attribute var foo, bar; //private Methode function fooPrivate(){ } //foo Setter this.setFoo = function(value){ foo = value; } //foo Getter this.getFoo = function(){ return foo; } //bar Setter this.setBar = function(value){ bar = value; } //bar Getter this.getBar = function(){ return bar; } //Konstruktorcode staticVar++; if (staticVar > 5) throw new Error('Es können nur maximal 5 Instanzen erzeugt werden.'); this.setFoo(fooValue); this.setBar(barValue); } })();