JavaScript: Private statische Elemente mit Closure in JavaScript

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

 

JavaScript: Private Elemente mit Closure in JavaScript

var ExampleClass = 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
	this.setFoo(fooValue);
	this.setBar(barValue);
}