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

Probleme mit iphone

Hallo, ich habe ein Problem bei der Darstellung einer Webseite. In allen Browsern hat das bisher bestens funktioniert außer beim iPhone und iPad, wo ... » mehr

von Finlay am Dienstag, 10. Juli 2012 19:45 in JavaScript - noch nicht beantwortet

Stream musik

Hallo, ich bin auf der Suche nach einem Script, mit dem ich einen Leser für Audio-Spuren in eine Html-Webseite einfügen kann. Ich brauche dabei ... » mehr

von Finlay am Sonntag, 22. Januar 2012 22:52 in JavaScript - bisher 2 Antworten
Letzter Beitrag: Dienstag, 8. Mai 2012 16:04 von maharadja

ich habe das mal mit jplayer probiert und bei mir gings ... » mehr

Byte Array PDF im Browser anzeigen

Hallo, ich bekomme von einem Webservice ein PDF als Byte Array. Mit einem JsonP Request habe ich das Byte Array so wie es ist (als Array von Bytes) ... » mehr

von TiloS am Mittwoch, 11. April 2012 17:37 in JavaScript - noch nicht beantwortet

Überbelnd effect in javascript gallerie

ich habe hier einie gallerie die funktioniert problem los aber hat noch kein über belnd effect jedoch würde ich diesen gerne einfügen aber ich habe ... » mehr

von faebe am Freitag, 20. Januar 2012 20:19 in JavaScript - noch nicht beantwortet

XML per JavaScript verarbeiten - IE

Hallo! Vielen Dank für das super kommentierte Script-Beispiel zur Weiterverarbeitung von XML-Dateien per JavaScript: ... » mehr

von gn0me am Freitag, 11. März 2011 19:03 in JavaScript - noch nicht beantwortet


¬ Insolvenzrecht