Webdesign mit CSS, HTML und Javascript
Stil mit {stil}

Neue Kameras und Objektive | Bildgestaltung und Bildbearbeitung
Fotografie von ihrer besten Seite: foto.5lux.de
Feb 2009
break, continue, return, try-catch
break-Anweisung
if (weitere Bedingung) {
break;
}
Die break-Anweisung bricht die weitere Ausführung einer bedingten Anweisung ab und übergibt die Steuerung des Programms an die Anweisungen nach dem Ende der Bedingung. Zusammen mit der continue-Anweisung erlaubt break das Überspringen von Anweisungsblöcken.
Die break-Anweisung wird benutzt, um Schleifen vorzeitig zu beenden, etwa, weil ein Fehler aufgetreten ist oder eine außergewöhnliche Bedingung, die in der Bedingung nicht getestet wird.
var noop = parseInt(document.getElementById('stop').value);
for (var i=0; i<7; i++) {
if (i === noop) {
break;
}
text = text + i + '\n';
}
alert(text);
Die Variable noop ist der Wert, der in das Eingabefeld mit der id stop eingegeben wurd. Der erste Teil der Schleifenläufe wird nach dem bekannten Schema durchgeführt. Wenn die Variable i den Wert annimmt, der in das Eingabefeld mit der id stop eingegeben wurde, beendet das Skript die Ausführung der for-Anweisung, die Anweisung text = text + i + '\n'; wird nicht mehr ausgeführt und das Skript springt zu den Anweisungen, die dem for-Block folgen (alert(text);).
var x = 0;
var rVal = "";
do {
if (aName[x]) {
if (parseInt(aName[x]) == NaN) {
rVal = "Bad Value";
break;
}
bName[x] = someProc(aName[x]);
}
x++;
}
while (aName[x]);
continue
if (weitere Bedingung) {
continue;
}
Unter einer Bedingung, die in einer while- oder for-Anweisung nicht abgefragt wird, überspringt die for- oder while-Anweisung durch continue einen Anweisungsblock und führt anschließend die Anweisungen in normaler Weise weiter aus.
var text = "";
noop = parseInt(document.getElementById('noop').value);
for (var i=0; i<7; i++) {
if (i === noop) {
continue;
}
text = text + i + '\n';
}
alert(text);
Die Variable noop enthält den Wert, den der Benutzer in das Eingabefeld mit der id noop eingegeben hat. Der erste Teil der Schleifenläufe wird nach dem bekannten Schema durchgeführt. Wenn die Variable i den Wert annimmt, der in das Eingabefeld mit der id noop eingegeben wurde, überspringt das Skript die Anweisungen nach der if-Abfrage. Die weiteren Durchläufe werden wie gewohnt durchgeführt.
- Wenn continue ohne label verwendet wird, beendet continue die aktuelle Iteration der inneren while-, do…while oder for-Anweisung und setzt die Ausführung der Schleife mit der nächsten Iteration durch. Anders als die break-Anweisung springt contiunue zurück zur Bedingung. In einer for-Anweisung springt continue zurück zum Increment-Ausdruck.
- Wenn continue mit label benutzt wird, bezieht es sich auf die Schleifenanweisung, die durch label identifiziert wird.
continue kann eine while-, do ... while-, for- oder label-Anweisung erneut zu starten.
var i = 0;
var val = 0;
while (i < 3) {
i++;
if (i==3) {
continue;
}
val += i;
}
label-Anweisung
label: Anweisungen;
Mittels einer label-Anweisung kann das Skript bei einer break-Anweisung die Anweisungen eines tief verschachtelten Blocks verlassen und an der markierten Stelle im Code fortfahren oder bei einer continue-Anweisung einen ganzen Durchlauf überspringen. Der Wert von label ist frei wählbar, darf aber kein reserviertes Wort sein.
return-Anweisung
return Wert;
Die return-Anweisung definiert einen Wert, der an die aufrufende Funktion zurückgegeben wird und übergibt die Steuerung sodann der aufrufenden Funktion. Die return-Anweisung ist ähnlich wie die break- und continue-Anweisungen eine Möglichkeit, einen Anweisungsblock – in diesem Fall eine vollständige Funktion – sofort zu verlassen und die Kontrolle wieder an die aufrufende Funktion zurückzugeben.
function mittelwert(a, b, b)
{
return (a + b + c)/3;
}
Wenn Skripte beim Ansenden von Formularen (onsubmit) oder Klicken eines Links (onclick) aufgerufen werden, sorgt die return-Anweisung am Ende des Skripts dafür, dass die ursprüngliche Aktion – die Übermittlung der Formulardaten an die URI des action-Attributs oder die Navigation zum Link – nicht durchgeführt wird, sobald die Anweisungen des Skripts abgearbeitet wurden.
myForm.onsubmit = function() { myLink.onclick = function() {
Anweisungen; Anweisungen;
… …
return false; return false;
} }
try … catch(exception) … throw
testet einen Codeblock auf Fehler. Der Try-Block enthält die Ausweisungen, die ausgeführt werden sollen, während der Catch-Block den Code enthält, der bei einem Fehler ausgeführt werden soll. Der Parameter exception speichert den Fehler.
try … catch() … throw gestaltet den Code besser lesbar und handelt Fehler an zentraler Stelle ab.
try {
if ( x != 20 ) {
throw "Fehler 2";
} else {
x = x + 1;
}
}
catch(exception) {
if (exception == "Fehler 1") {
alert('Gehen Sie sofort zu Google');
}
if (exception == "Fehler 2") {
alert('Bitte informieren Sie den Webmaster');
}
}
Innerhalb des Try-Blocks testet die if-Abfrage, ob die Variable x einen anderen Wert als 20 hat und wenn ja, „wirft“ sie eine Ausnahmebedingung "Fehler 2". Innerhalb des Catch-Blocks prüft das Skript, ob eine Ausnahmebedingung eingetreten ist und gibt eine Fehlermeldung aus.