Variablen dienen der Speicherung von Werten. Sie stellen damit die von einem Programm zur Verarbeitung benötigten Daten dar und spiegeln einen bestimmten Bearbeitungszustand wieder. JavaScript kennt drei verschiedene Standarddatentypen. Dies sind im Einzelnen Variablen vom Typ Number zur Speicherung von Zahlenwerten (JavaScript unterscheidet nicht zwischen Gleitkommazahlen und ganzzahligen Werten), Variablen vom Typ String zur Speicherung von Zeichenketten und zuletzt Variablen vom Typ Boolean, der zur Speicherung von Wahrheitswerten dient (TRUE oder FALSE).
Variablennamen können individuell vergeben werden, müssen sich allerdings an die in JavaScript vorgegebenen Konventionen zur Vergabe von Namen halten. Bevor lesend auf eine Variable zugegriffen werden kann muss diese zumindest definiert sein. Ist eine Variable zum Zeitpunkt des Zugriffs noch nicht definiert, so führt dies zu einem Programmfehler.
Das folgende Beispiel prüft zunächst, ob die Variable t bereits mit einem Wert initialisiert wurde. Dies ist hier nicht der Fall und es erfolgt somit keine Ausgabe von t. Statt dessen wird mit der Write-Methode eine Meldung ausgegeben, die besagt, dass die Variable bislang nicht definiert ist.
Danach wird die Variable t mit dem Wert 12 initialisiert und der gespeicherte Wert und der Datentyp, der über typeof ermittelt wird, durch den entsprechenden JavaScript Code ausgegeben. Als nächstes wird die Variable u ohne Initialisierung (Zuweisung eines Wertes) definiert. Auch hier wird dann der Inhalt (nicht initialisierte Variablen enthalten den Wert „undefined”) und der Datentyp des in der Variablen gespeicherten Wertes ausgegeben. Nachdem dann eine Zeichenkette zugewiesen wurde erfolgt erneut eine Ausgabe.
<script language="javascript" type="text/javascript"> <!-- // JavaScript-Bereich für ältere Browser auskommentieren // Existiert die Variable t? if (typeof t != 'undefined') // Dann soll deren Inhalt ausgegebene werden document.write ('Inhalt von t vor der Definition: ' + t + '<br>'); else // Ansonsten entsprechende Meldung ausgeben document.write ('t ist noch nicht definiert!<br>'); // Variable t durch Zuweisung eines Wertes definieren t = 12; // Ausgabe des Inhalts von t... document.write ('t nach der Definition: ' + t + '<br>'); // und dessen Datentyp document.write ('Typ der Variablen t: ' + typeof t + '<br>'); // Weitere Variable ohne Zuweisung eines Wertes definieren var u; document.write ('Wert von u: ' + u + '<br>'); document.write ('Typ der Variablen u: ' + typeof u + '<br>'); // Wert zuweisen und damit den Datentyp festlegen u = 'Inhalt von u'; document.write ('Wert von u: ' + u + '<br>'); document.write ('Typ der Variablen u: ' + typeof u + '<br>'); // --> </script>
Variablen können für den globalen oder aber den lokalen Zugriff definiert werden. Eine globale Variable wird meist ausserhalb von Funktionen definiert und ist für alle im Script enthaltenen Funktionen und Instanzen von Objekten verfügbar. Dagegen wird eine lokale Variable innerhalb einer Funktion definiert und ist auch nur innerhalb der Funktion und in untergeordneten Funktionen sichtbar. Diesen Mechanismus der Sichtbarkeit von Variablen demonstriert das folgende Script.
Mit der Methode write des Document-Object werden auch hier die Werte der Variablen ausgegeben, die im entsprechenden Scriptteil sichtbar sind. Im Code finden Sie Hinweise zu den genutzten Variablen und deren Sichtbarkeit.
<script language="javascript" type="text/javascript"> <!-- // JavaScript-Bereich für ältere Browser auskommentieren // Funktion zur Demonstration der Sichtbarkeit von Variablen function testfunktion () { // Folgende Variable ist von nunan global verfügbar r = 13; // Die nächste dagegen nur innerhalb der Funktion und in // Funktionen sichtbar, die innerhalb der Funktion definiert // sind. var s = 'Test'; // Ausgabe der Variablen, die ausserhalb der Funktion // (global) definiert sind document.write ('t in testfunktion: ' + t + '<br>'); document.write ('u in testfunktion: ' + u + '<br>'); // Folgende Funktion sieht auch lokale Variablen, die // in der übergeordneten Funktion als lokal definiert // wurden. function testfunktion2 () { // Lokale Variable j var j = 'Test2'; // In testfunktion definierte lokale Variable ausgeben document.write ('s in testfunktion2: ' + s + '<br>'); } // Untergeordnete Funktion ausführen testfunktion2 (); // Auch hier ist j wieder nicht ansprechbar if (typeof j != 'undefined') document.write ('j in testfunktion: ' + j + '<br>'); } // Testfunktion aufrufen testfunktion (); // Die in der Funktion definierte Varaible r ist global sichtbar document.write ('Wert von r: ' + r + '<br>'); // Anders als r ist s nur lokal innerhalb der Funktion sichtbar // und die folgende Abfrage liefert FALSE (s wird nicht ausgegeben) if (typeof s != 'undefined') document.write ('Wert von s: ' + s + '<br>'); // --> </script>
Bei der Definition selbstdefinierter Objekte kann der Entwickler entscheiden, ob Eigenschaften (Variablen, die zu einem Objekt gehören) und Methoden eines Objekt von aussen sichtbar sein sollen oder nicht. Im folgenden Beispiel wird ein Objekt mit dem Namen Person definiert, welches über Eigenschaften und eine Methode verfügt. Von aussen sichtbare Eigenschaften und Methoden, auf die über eine Objektinstanz zugegriffen werden können soll, müssen mit dem Präfix „this.” definiert werden. Werden Methoden oder Variablen ohne diesen Präfix definiert, so ist der Zugriff nur innerhalb des Objekts möglich. Ist eine Eigenschaft von aussen nicht ansprechbar, so liefert ein Zugriff auf diese Eigenschaft den Wert „undefined”.
<script language="javascript" type="text/javascript"> <!-- // JavaScript-Bereich für ältere Browser auskommentieren // Objekt Person definieren function Person (n, a, g) { // Lokale Variable zur Speicherung des Namen var name = n; // Öffentliche Eigenschaft (Variable) zur Speicherung des Alters this.alter = a; // Auch groesse ist eine private Variable, auf die von // aussen nicht zugegriffen werden kann. groesse = g; // Folgende Methode ist öffentlich aufrufbar und // gibt Eigenschaften des Objekts aus. this.print = function () { document.write ('P(' + name + ', ' + this.alter + ', ' + groesse + ')'); } } // Instanziierung eines Objekts vom Typ Person var p = new Person ('Walter', 75, 1.78); // Zugriff auf die Eigenschaften (Variablen) des Objekts // Name ist lokal und deshalb nicht zugänglich document.write ('Wert von p.name: ' + p.name + '<br>'); // Zugriff auf das Alter ist möglich document.write ('Wert von p.alter: ' + p.alter + '<br>'); // Auch auf groesse kann von aussen nicht zugegriffen werden document.write ('Wert von p.groesse: ' + p.groesse + '<br>'); // Aufruf der öffentlichen Methode print p.print (); // --> </script>
¬ Menu
¬ Gratis Download
¬ Seminare
¬ Yoga
¬ Insolvenzrecht
¬ News
15.08.2008Schleifen in PHP: Die While-Schleife » mehr 13.08.2008Nutzung von Variablen unter PHP: Definition, Sichtbarkeit und vordefinierte Variablen » mehr 11.08.2008Ausgabe von Datum und Zeit mit PHP nach Konvertierung in ein String » mehr Eine vollständige News-Liste ist auf der News-Seite zugänglich.
¬ Foren
¬ Buchtipp
JavaScript, Das umfassende Referenzwerk
Weitere JavaScript Literaturtipps finden Sie unter JavaScript Bücher
Webdesign •
Beratung Internetseite •
Programmierung Internetseite