private und public function mit Javascript

Javascript kann weitaus mehr als Popups
Javascript kann weitaus mehr als Popups

Klassen in Javascript? Private und öffentliche Funktionen? Ja, das geht. Als ich gerade im phphatesme-Blog den Artikel über objektorientiertes JavaScript [1] gelesen habe, dachte ich an ein Code-Snippet, das ich mir vor einigen Wochen zurechtgelegt hatte. Dieses Snippet kann etwas entscheidendes mehr als das phphatesme-Tutorial und dient mir als Grundlage für Javascript-Applikationen. Hier ist es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
var meineApplikation = function(){
	var _defaults = {
		"var1": "value1",
		"var2": "value2"
	};
	var _opts;	// Optionen
	var _privateVariable; //Private Variable
 
	// Private Funktionen
	function _myPrivateFunction()
	{
		_privateVariable = "blah";
	}
 
	// Öffentliche Funktionen (public)
	return{
		init: function(options){
			// jQuery Methode zum Mischen der Benutzer-
			// mit den Default-Optionen
			_opts = $.extend(_defaults, options);
			return this;
		},
		test: function(){
			_myPrivateFunction();
			alert("var1="+_ops.var1+", var 2="+_opts.var2);
			return this;
		}
	}
}();
 
// application test
 
// ändere var1, behalte andere
meineApplikation.init({
	"var1": "changed value" 
}); 
 
// Öffentliche Funktion
meineApplikation.test(); 
// funktioniert
 
// Private Funktion
meineApplikation._myPrivateFunction();
// gibt Fehlermeldung zurück

Ich hoffe der Code hilft einigen hier. Über Feedbacks freue ich mich!

3 Gedanken zu „private und public function mit Javascript“

  1. Da steckt ein kleiner Fehler im Code.

    ich denke du meinst nicht:
    alert(„var1=“+_options.var1+“, var 2=“+_options.var2);
    sondern
    alert(„var1=“+_opts.var1+“, var 2=“+_opts.var2);

    Danke für den Code!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *