Kontakt aufnehmen

Verarbeitung in JavaScript

Um die Verarbeitung von Anweisungen und Funktionen zu erleichtern und die Arbeit mit Objekten zu vereinfachen gibt es verschiedene Anweisungen.

with-Anweisung

Die with-Anweisung dient dazu, u.a. lästige Schreibarbeit zu ersparen. Sie besteht aus einer Objekt-Definition sowie einer Anweisung oder einem Anweisungsblock. Die Objekt-Definition wird durch das Wort with eingeleitet, welchem innerhalb von runden Klammern das zu verwendene Objekt folgt. An diese Klammern schließt sich die Anweisung bzw. der Anweisungsblock an. Innerhalb dieser kann nun mit sämtlichen Eigenschaften, Methoden und Unterobjekten des definierten Objektes gearbeitet werden, ohne, dass das Objekt jedes Mal dazu notiert werden muss. Beispiel:

with(document.all.meinDIV)
{
 style.top = 20;
 innerText = 'Dieser Text';
 Punkt = getClientRects();
}

/* ist gleich mit */
document.all.meinDIV.style.top = 20;
document.all.meinDIV.innerText = 'Dieser Text';
Punkt = document.all.meinDIV.getClientRects(); 

try-catch-finally-Anweisung

Eine try-catch-finally-Anweisung dient dazu, mögliche Fehler abzufangen, ohne, dass eine Meldung ausgelöst wird. Dazu wird um die betreffende/n Anweisung/en die try-Anweisung gesetzt. Sie besteht aus dem Wort try sowie zwei geschweiften Klammern ({ und }), welche die Anweisung/en einschließen. Tritt innerhalb dieser try-Anweisung ein Fehler auf, wird die gesamte Folge abgebrochen und nach der Anweisung fortgefahren ohne eine Fehlermeldung auszugeben.
Zusätzlich kann noch eine catch-Anweisung folgen. Sie wird nur dann ausgeführt, wenn in der vorhergehenden try-Anweisung ein Fehler auftrat. Eingeleitet wird sie durch das Wort catch, welchem zwei runde Klammern und anschließend zwei geschweifte Klammern folgen. Innerhalb der runden Klammern ist folgendes möglich:

  • Es wird eine beliebige Variable notiert. Dieser Variablen wird, bei Eintritt eines Fehlers, der Fehler übergeben und kann abgefragt werden (siehe Error-Objekt).
  • Es wird eine beliebige Variable notiert sowie das Wort if und eine Bedingung. Tritt ein Fehler ein, wird der Variablen nur dann der Fehler übergeben wenn die Bedingung erfüllt ist. Ebenso wird auch dann nur die anschließende/n Anweisung/en ausgeführt. Es können dabei mehrere catch-Anweisungen aufeinander folgen, damit mehrere Bedinungen durchgegangen werden können.
    Bitte beachten Sie, dass diese Variante nur in JavaScript möglich ist - JScript unterstützt dies nicht.
Letztlich kann noch eine finally-Anweisung folgen. Sie wird durch das Wort finally sowie zwei gescheiften Klammern notiert. Innerhalb der Klammern könne alle Anweisungen stehen, die bedingungslos ausgeführt werden können, nachdem die Behandlung aller Fehler abgeschlossen ist. Diese Anweisungen werden auf jeden Fall ausgeführt, egal ob ein Fehler aufgetreten ist oder nicht. Beispiel:

try
{LoestEinenFehlerAus();}

catch(a if a instanceof TypeError)
{alert('Ein Typ-Fehler!');}

catch(a)
{alert('Ein Fehler, jedoch kein Typ-Fehler!');}

finally
{alert('Abgeschlossen');} 

Erklärung: Innerhalb der try-Anweisung wird ein Fehler ausgelöst, dadurch, dass eine nicht-existierende Funktion aufgerufen wird. Da es sich dabei um einen TypeError handelt, wird die erste catch-Anweisung ausgeführt - die zweite nicht. Letztlich wird noch die finally-Anweisung verarbeitet und die Folge ist beendet.

throw-Anweisung

Die throw-Anweisung tut das, was mit der try-Anweisung verhindert werden soll: sie löst einen Fehler aus. Sie dient dazu, selbst Fehlerkontrolle in den eigenen Skripten zu betreiben und kann deshalb nur innerhalb einer try-Anweisung verwendet werden. Die Anweisung wird durch das Wort throw eingeleitet. Hinter diesem muss die Fehlerbezeichnung folgen (als Variable, Text, Zahl ...). Die Fehlerbezeichnung dient dazu, den Fehler zu identifizieren, falls noch mit ihm gearbeitet werden soll. Beispiel:

a = 2;
try
{
 if(a < 3){ throw 'Variable a ist zu klein.'; }
 if(a > 10){ throw 'Variable a ist zu groß.'; }
 /* ... weitere Anweisungen ... */
}
catch(b)
{
 alert('Fehler "'+b+'" ist aufgetreten.')

Erklärung: Innerhalb einer try-Anweisung wird bei bestimmten Bedinungen ein Fehler ausgelöst. Ist die Variable a kleiner als 3 wird der Fehler mit dem Wert "Variable a ist zu klein." ausgelöst; ist sie größer als 10 wird der Fehler mit dem Wert "Variable a ist zu groß." ausgelöst. Innerhalb der catch-Anweisung wird dieser dann abgefangen und in einem Satz ausgegeben.

this-Anweisung

Die this-Anweisung dient zur Vereinfachung und Verkürzung von Quellcode. Sie stellt jeweils eine Instanz des aktuellen Objekts dar und kann als solches verwendet werden. Innerhalb einer with-Anweisung würde sie das in der Objekt-Definition verwendete Objekt darstellen; innerhalb eines Formulars stellt sie das jeweilige Formular dar; in Verbindung mit einem Button stellt sie den Button dar (usw.). Beispiel:

/* Beispiel 1: */
<form name="Formular" onSubmit="alert(this.name)">
<input type="Button" name="Knopf" onClick="alert(this.name)" value="Button-Test">
<input type="Submit" name="Absenden" value="Formular-Test">
</form>

/* Beispiel 2: */
function Baum(a,b)
{
 this.Name = a;
 this.Height = b;
}
meinBaum = new Baum('Eiche',25.44); 

Erklärung: Im ersten Beispiel ist ein simples Formular aufgebaut. Klickt man auf den Button mit der Aufschrift Button-Test, so wird das onClick-Ereignis des Buttons ausgelöst und der Name (Knopf) ausgegeben. Klickt man auf den Button mit der Aufschrift Formular-Test, so wird das onSubmit-Ereignis des Formulars ausgelöst und dessen Name ausgegeben.
Das zweite Beispiel beinhaltet eine Funktion, welche zum Erstellen neuer Baum-Objekte benötigt wird. Die this-Anweisung hat dabei die Aufgabe, auf das neu zu erstellende Objekt (meinBaum) zu verweisen. Diesem werden damit die Eigenschaften Name und Height, sowie die dazugehörigen Werte, zugewiesen.

Du arbeitest in einer Agentur oder als Freelancer?
Dann wirf doch mal einen Blick auf unsere Software FeatValue.

Weiterlesen: ⯈ Ajax

Über uns

Stefan Wienströer

Wir entwickeln Webanwendungen mit viel Leidenschaft. Unser Wissen geben wir dabei gerne weiter. Mehr über a coding project

Cookie-Einstellungen

Helfen Sie dabei, uns noch besser zu machen. Wir nutzen Cookies und ähnliche Technologien, um die Website auf Ihre Bedürfnisse anzupassen. Zur Datenschutzerklärung

Auswahl speichern