JavaScript Variablen

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.

JavaScript Variablen Beispiel 1: Variable in JavaScript Definieren

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>

JavaScript Variable Beispiel 2: Sichtbarkeit von Variablen (global / lokal)

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>

JavaScript Variable Beispiel 3: Sichtbarkeit von Objekteigenschaften (Objektvariablen)

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>

Letzte Posts aus unserem Forum

Script Schrift vergrößern

Hallo wollte gerade das Script für die Schriftvergrößerung testen, aber irgendwie bekomme ich das nicht hin. Habe eine Joomla Website und dort die ... » mehr

von Gast am Donnerstag, 22. April 2010 13:32 in JavaScript - bisher 1 Antwort
Letzter Beitrag: Donnerstag, 22. April 2010 18:05 von alm

Hallo, damit kann man nicht allzu viel anfangen. Soviel ich weiss kann es zuweilen Probleme mit Tabellen-Layouts geben. Dort werden die ... » mehr

Javascript Schriftengröße: Problem bei URL-Übergabe im IE8

Hallo, ich hab eben das Javascript zur Schriftengröße eingebaut, klappt auch wunderbar auf Firefox, aber der IE 8 hat folgendes Problem: - wenn ich ... » mehr

von horst1234 am Dienstag, 23. Februar 2010 13:06 in JavaScript - bisher 1 Antwort
Letzter Beitrag: Dienstag, 23. Februar 2010 14:07 von horst1234

Ich hab das charset im Header geändert (wie in der beispiel.html), und schon klappt es ... » mehr

Dynamisches einfügen von Zeilen in eine Spalte

Hallo, ich möchte gerne eine Zeile zwischen zwei andere Zeilen einfügen. Leider klappt folgender Versuch noch nicht so richtig. Vielleicht kann mir ... » mehr

von Bluecaspar am Mittwoch, 10. Februar 2010 18:09 in JavaScript - bisher 2 Antworten
Letzter Beitrag: Donnerstag, 11. Februar 2010 10:37 von Bluecaspar

Ja genau, das war der Fehler. Vielen Dank Alex. Hier der korrigierte Code: <html> <head> <title> Test ... » mehr

Fenster in Frame erzeugen

Hallo, ich würde gerne ein Fenster in einer Webseite erzeugen. Das Fenster sollte dabei auf ein Frame begrenzt sein, sich also nicht aus diesen ... » mehr

von Bluecaspar am Dienstag, 9. Februar 2010 13:57 in JavaScript - bisher 2 Antworten
Letzter Beitrag: Mittwoch, 10. Februar 2010 09:32 von Bluecaspar

Ja hervorragend, dass ist genau das was ich möchte. Danke ... » mehr

Problem: Kombination mit Lightbox 2

Hallo, ich bin gerade dabei die Galerie mit der Lightbox 2 zu verknüpfen, da ich die Bilder im Vollformat gerne in diesem schicken aufpoppenden ... » mehr

von GoPeter am Montag, 16. November 2009 23:38 in JavaScript - bisher 16 Antworten
Letzter Beitrag: Mittwoch, 18. November 2009 00:32 von GoPeter

Soo...hat lange gedauert...aber jetzt ist es endlich ... » mehr



¬ Insolvenzrecht