Movatterモバイル変換


[0]ホーム

URL:


Rheinwerk Computing< openbook >Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einleitung
2 Webbrowser
3 JavaScript einbauen
4 Programmieren mit JavaScript
5 Datum
6 Zufall
7 Browserinformationen
8 Fenster
9 Formulare
10 Frames und Iframes
11 Grafiken
12 Cookies
13 Objekte und Arrays
14 Ereignisbehandlung
15 Fehlerbehandlung
16 DOM
17 DHTML und CSS
18 AJAX
19 XML
20 Web Services
21 AJAX-Frameworks
22 Plugins
23 Multimedia
24 Java
25 Serverseitige Technologien
26 JavaScript goes .NET
27 Code schützen
28 Top Secret: Passwortschutz
29 Signierte Skripte
30 JavaScript und Sicherheit
31 Navigation
32 Warenkorb
33 JavaScript-Bibliotheken
34 Referenz
35 Quellen im Web
36 Die Zukunft von JavaScript
Index
Ihre Meinung?

 <<   zurück
JavaScript und AJAX von Christian Wenz
Das umfassende Handbuch
Buch: JavaScript und AJAX

JavaScript und AJAX
839 S., mit DVD, 39,90 Euro
Rheinwerk Computing
ISBN 3-89842-859-1
gpKapitel4 Programmieren mit JavaScript
 gp4.1 Variablen
  gp4.1.1 Namensgebung
  gp4.1.2 Numerische Variablen
  gp4.1.3 Zeichenketten
  gp4.1.4 Boolesche Variablen
  gp4.1.5 Variablendeklaration
 gp4.2 Operatoren
  gp4.2.1 Arithmetische Operatoren
  gp4.2.2 Boolesche Operatoren
  gp4.2.3 String-Operatoren
  gp4.2.4 Umwandlung zwischen den Variablentypen
 gp4.3 Kontrollstrukturen: Schleifen
  gp4.3.1 For-Schleifen
  gp4.3.2 Do-while-Schleife
  gp4.3.3 While-Schleife
  gp4.3.4 For-in-Schleife
  gp4.3.5 Schleifensteuerung
 gp4.4 Kontrollstrukturen: Fallunterscheidung
  gp4.4.1 If-Anweisung
  gp4.4.2 Switch-Anweisung
  gp4.4.3 Try
 gp4.5 Datenspeicherung
  gp4.5.1 Die eval()-Funktion
  gp4.5.2 Arrays
 gp4.6 Funktionen
 gp4.7 Objekte


Rheinwerk Computing

4.3 Kontrollstrukturen: Schleifen downtop

Hin und wieder kommt es vor, dass eine Anweisung mehrmals ausgeführt werden muss, beispielsweise bei einer Aufzählung. Hierzu bietet JavaScript mehrere Kontrollstrukturen an. Mit JavaScript Version 1.2 (sowie beim Internet Explorer 4) wurden neue Kontrollstrukturen eingeführt, die aber mit dem Befehlssatz von JavaScript 1.0 vollständig nachgebildet werden können.


Rheinwerk Computing

4.3.1 For-Schleifen downtop

Diese Art der Schleife führt eine Anweisung eine (in der Regel) bestimmte Anzahl von Malen aus. Die Syntax sieht dabei folgendermaßen aus:

for (Initialisierung; Bedingung; Befehlsfolge) {   //Anweisungen}

Diefor-Schleife hat drei Parameter:

gp  Initialisierung: Oft läuft bei einer Schleife eine Zählvariable mit, die die Anzahl der Wiederholungen zählt. Diese Variable kann hier initialisiert werden. Sollen mehrere Variablen initialisiert werden, so werden die einzelnen Anweisungen durch Kommata voneinander getrennt.
gp  Bedingung: Diefor-Schleife wird so lange ausgeführt, bis diese Bedingung nicht mehr erfüllt ist.
gp  Befehlsfolge: Nach jedem Durchlauf der Anweisungen wird diese Befehlsfolge (in der Regel ein Befehl; mehrere Befehle werden durch Kommata voneinander getrennt) ausgeführt. Wenn die Schleife irgendwann enden soll, sollten hier in der Regel Befehle ausgeführt werden, die nach einer bestimmten Anzahl von Durchläufen die Bedingung (den zweiten Parameter) nicht mehr erfüllbar machen.

Die geschweiften Klammern um den Anweisungsblock sind dann zwingend, wenn der Block aus mehr als einem Befehl besteht. Handelt es sich um nur einen Befehl, so kann man die geschweiften Klammern weglassen. Man sollte aber zumindest den Code einrücken, damit das Ganze übersichtlich und lesbar bleibt. Generell ist es aber empfehlenswert, immer geschweifte Klammern zu verwenden.

Der folgende Code gibt zehnmalGalileo aus. Dabei wird eine Zählvariable mit0 initialisiert und in jedem Schleifendurchlauf um eins erhöht. Die Abbruchbedingung prüft, ob die Zählvariable kleiner als zehn ist. Vor dem elften Durchlauf wird die Variable auf zehn erhöht, und die Schleife wird verlassen.

for (var i=0; i<10; i++) {   document.write("Galileo<br />");}

Sehr oft wird die Zählvariable auch direkt in der Schleife verwendet. Der folgende Code gibt alle Quadratzahlen von 0 = 0 bis 10 = 100 aus:

for (var i=0; i<=10; i++) {   document.write("Das Quadrat von " + i + " ist: ");   document.write(i*i + "<br />");}

Sie sehen hierbei die Verwendung des Plus-Operators: Hier werden eine Zeichenkette und eine Zahl zusammengefügt. Das Ergebnis ist eine Zeichenkette, die Zahl wird also in eine Zeichenkette umgewandelt.

Beachten Sie ebenso, dass Sie einen Zeilenumbruch nicht mit\r\n angeben sollten, sondern mit dem entsprechenden HTML-Tag,<br/>.

Wie bereits erwähnt wurde, kann man auch mehrere Zählvariablen verwenden, die man dann durch Kommata voneinander trennen muss. Anwendungen dafür gibt es ziemlich selten: Hier folgt ein sehr praxisfremdes Beispiel. Es werden zwei Zählvariablen verwendet,i undj. Die erste enthält eine Zahl, die zweite eine Zeichenkette. Der Zahlenwert wird in eine Zeichenkette umgewandelt und anj angehängt. Sobaldj mehr als 15 Zeichen enthält, wird die Schleife verlassen.

for (var i=0, j=""; j.length<=15; i++, j += i) {   document.write(i + " – " + j + "<br />");}

Dieses Programm gibt Folgendes auf dem Bildschirm aus:

0 –1 – 12 – 123 – 1234 – 12345 – 123456 – 1234567 – 12345678 – 123456789 – 12345678910 – 1234567891011 – 123456789101112 – 123456789101112

Vor dem nächsten Schleifendurchlauf würde an die Zeichenkette13 angehängt, die Länge würde dadurch auf 17 Zeichen anwachsen, also wird die Schleife hier verlassen.


Rheinwerk Computing

4.3.2 Do-while-Schleife downtop

Nicht immer weiß man, wie oft ein Anweisungsblock hintereinander ausgeführt werden soll. Stattdessen will man den Block so lange ausführen, bis eine Bedingung nicht mehr erfüllt ist. Im folgenden Beispiel sollen in einer Zeichenkette alleAs durchBs ersetzt werden. Hierbei ist die MethodeZeichenkette.indexOf(Teilstring)nützlich; diese gibt nämlich zurück, an welcher Position in der Zeichenkette der Teilstring das erste Mal vorkommt. Ist der Teilstring nicht in der Zeichenkette enthalten, wird–1 zurückgegeben. Das erste Zeichen steht, wie auch schon vorher, an Position0.

Die Syntax sieht wie folgt aus:

do {   //Anweisungsblock} while (Bedingung);

Der Anweisungsblock wird ausgeführt, und dann wird die Bedingung überprüft. Ist sie erfüllt, wird der Block erneut ausgeführt (und dann wird wieder die Bedingung geprüft); andernfalls wird die Schleife verlassen.

var Zk = "AXAYAZ";  //Zk steht für "Zeichenkette"do {   io = Zk.indexOf("A");   Zk = Zk.substring(0, io) + "B" +        Zk.substring(io+1, Zk.length);} while (Zk.indexOf("A")>-1);

Nach dem Durchlauf enthältZk den WertBXBYBZ.

Beachten Sie insbesondere, dass die Schleife auf jeden Fall einmal ausgeführt wird! Im Beispiel führt das zu einem Fehler, wenn die Zeichenkette zu Anfang überhaupt keinA enthält. Im Folgenden lernen Sie Methoden kennen, um diesen Fehler zu vermeiden.

Noch ein Wort zu der Zuweisung: Wenn Sie bei einer Zeichenkettez das Zeichen an der Stellex in das ZeichenX ändern wollen (die Zählung beginnt wie immer bei 0), kommen Sie mit folgender Anweisung weiter:

z = z.substring(0, x) + "X" + z.substring(x+1, z.length);

Alle Zeichen vor und hinter dem zu ändernden Zeichen bleiben durch die beidensubstring()-Anweisungen erhalten.


Rheinwerk Computing

4.3.3 While-Schleife downtop

Schon seit JavaScript Version 1.0 gibt es eine weitere Form der Schleifen, und zwarwhile-Schleifen (ohnedo). Die Syntax ist der vondo-while-Schleifen sehr ähnlich, der Unterschied steckt im Detail:

while (Bedingung) {   //Anweisungsblock}

Die Bedingung wird hiervor dem Durchlaufen des Anweisungsblocks überprüft. Im Beispiel von oben, bei der Ersetzung allerAs durchBs, ist das sehr nützlich, da hier der Anweisungsblock nicht ausgeführt wird, wenn die Zeichenkette von Anfang an keineAs enthält:

var Zk = "AXAYAZ"  //Zk steht für "Zeichenkette"while (Zk.indexOf("A")>-1) {   io = Zk.indexOf("A")   Zk = Zk.substring(0, io) + "B" + Zk.substring(io+1, Zk.length)}

Rheinwerk Computing

4.3.4 For-in-Schleife downtop

Diese Schleife wird recht selten verwendet, und an dieser Stelle fehlt Ihnen noch das Grundwissen über Objekte, um Ihnen eine ausreichende Erklärung geben zu können. Prinzipiell sei gesagt, dass man mit der Schleife durch alle Eigenschaften eines Objekts und alle Elemente einer Variablensammlung (eines Arrays, dazu später mehr) laufen kann. Die folgende Schleife gibt dasname-Attribut aller Elemente eines Formulars wieder. Spätestens in Kapitel 9 werden Sie diesen Code verstehen; vorerst aber müssen Sie mir leider blind vertrauen. Diefor-in-Schleifen werden ohnehin sehr selten eingesetzt.

for (e in document.forms[0].elements) {   document.write(e.name + "<br />")}

Rheinwerk Computing

4.3.5 Schleifensteuerung toptop

Eine Schleife muss nicht unbedingt so oft durchlaufen werden, wie vorgesehen ist. Angenommen, in einer Schleife wird eine Zeichenkette auf das Vorhandensein eines bestimmten Zeichens überprüft (das geht mitindexOf() sehr schnell, aber darauf gehen wir an dieser Stelle nicht ein). Sobald das Zeichen gefunden worden ist, muss die Schleife nicht unbedingt weiter ausgeführt werden, denn das Ergebnis (»Das Zeichen ist in der Zeichenkette enthalten«) steht ja jetzt schon fest. Aus diesem Grund gibt es den Befehlbreak, der das sofortige Verlassen der aktuellen Schleife veranlasst. Der Interpreter fährt also hinter dem aktuellen Anweisungsblock fort.

Ebenso kann es bei Schleifen, insbesondere beifor-Schleifen, immer wieder vorkommen, dass man zum nächsten Schleifendurchlauf springen möchte (beispielsweise, wenn man genau weiß, dass dieser Durchlauf nicht das gewünschte Ergebnis bringt) und den Rest der Schleife aus Effizienzgründen nicht ausführen lassen will. Der entsprechende Befehl heißtcontinue.

Wieder ist es leider so, dass Ihr momentanes Wissen noch nicht ausreicht, um hier ein sinnvolles Beispiel anzugeben. Am Ende des Kapitels werden Sie aber in der Lage sein, die Befehlebreak undcontinue einzusetzen.

 <<   zurück
  
 Zum Rheinwerk-Shop
Neuauflage: JavaScript
Neuauflage: JavaScript
bestellen
 Ihre Meinung?
Wie hat Ihnen das Openbook gefallen?
Ihre Meinung

 Buchtipps
Zum Rheinwerk-Shop: jQuery






 jQuery


Zum Rheinwerk-Shop: Einstieg in JavaScript






 Einstieg in JavaScript


Zum Rheinwerk-Shop: Responsive Webdesign






 Responsive Webdesign


Zum Rheinwerk-Shop: Suchmaschinen-Optimierung






 Suchmaschinen-
 Optimierung


 Lieferung
Versandkostenfrei bestellen in Deutschland, Österreich und der Schweiz
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2007
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das Openbook denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt.
Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen |Datenschutz |Impressum

Rheinwerk Verlag, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77,service@rheinwerk-verlag.de

Cookie-Einstellungen ändern



[8]ページ先頭

©2009-2025 Movatter.jp