File: schleifen.htm

package info (click to toggle)
selfhtml 8.1.1-1
  • links: PTS
  • area: non-free
  • in suites: etch, etch-m68k, lenny
  • size: 27,660 kB
  • ctags: 4,145
  • sloc: xml: 614; java: 375; makefile: 8
file content (292 lines) | stat: -rw-r--r-- 23,220 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>SELFHTML: JavaScript / Sprachelemente / Schleifen (while/for/do-while)</title>
<link rel="stylesheet" type="text/css" href="../../src/selfhtml.css">
<meta name="description"    content="Welche Aufgaben Schleifen haben und wie Sie solche Anweisungen in JavaScript notieren.">
<meta name="keywords"       content="SELFHTML, JavaScript, while, do-while, for, Schleifen">
<meta name="author"         content="Redaktion SELFHTML, selfhtml81@selfhtml.org">
<meta name="DC.Publisher"   content="Stefan Mnz">
<meta name="DC.Date"        content="2005-08-22T21:21:39+02:00">
<meta name="DC.Identifier"  content="http://de.selfhtml.org/javascript/sprache/schleifen.htm">
<meta name="DC.Language"    content="de">
<meta name="DC.Rights"      content="../../editorial/copyright.htm">
<meta name="DC.Date.created" content="2001-10-27T08:00+01:00">
<meta name="SELF.Pagetype"  content="page">
<link rel="shortcut icon" type="image/x-icon" href="../../src/favicon.ico">
<link rel="author" title="Impressum" href="../../editorial/impressum.htm">
<link rel="contents" title="Inhaltsverzeichnis" href="../../navigation/inhalt.htm">
<link rel="index" title="Stichwortverzeichnis" href="../../navigation/stichwort.htm">
<link rel="search" title="Suche" href="../../navigation/suche/index.htm">
<link rel="help" title="Hilfe" href="../../editorial/index.htm">
<link rel="copyright" title="Urheberrecht" href="../../editorial/copyright.htm">
<link rel="top" title="SELFHTML" href="../../index.htm">
<link rel="up" title="Sprachelemente" href="index.htm">
<link rel="next" title="Reservierte Wrter" href="reserviert.htm">
<link rel="prev" title="Bedingte Anweisungen (if-else/switch)" href="bedingt.htm">
<link rel="first" title="Allgemeine Regeln fr JavaScript" href="regeln.htm">
<link rel="last" title="Event-Handler" href="eventhandler.htm">
</head>
<body>

<table cellpadding="4" cellspacing="0" border="0" width="100%">
<tr>
<td colspan="2" class="nav"><a class="an" name="top"><img src="../../src/refkap.gif" width="16" height="13" alt="Teil von"></a> <a href="../../index.htm">SELFHTML</a>/<a href="../../navigation/index.htm" target="_parent" class="navh">Navigationshilfen</a> <img src="../../src/refkap.gif" width="16" height="13" alt="Teil von">&nbsp;<a href="../index.htm">JavaScript/DOM</a> <img src="../../src/refkap.gif" width="16" height="13" alt="Teil von">&nbsp;<a href="index.htm">Sprachelemente</a></td>
</tr>
<tr>
<td class="doc" width="110"><a href="../../index.htm"><img src="../../src/logo.gif" width="106" height="109" border="0" alt="SELFHTML"></a></td>
<td class="docbot" width="100%"><h1 class="ph1">Schleifen (while/for/do-while)</h1></td>
</tr>
<tr>
<td class="doctop">
<img src="../../src/dokx.gif" width="30" height="20" vspace="6" alt="Informationsseite">
</td>
<td valign="top" nowrap="nowrap">
<p>
<img src="../../src/down.gif" width="14" height="10" alt="nach unten">&nbsp;<a href="#while">Schleifen mit "while"</a><br>
<img src="../../src/down.gif" width="14" height="10" alt="nach unten">&nbsp;<a href="#for">Schleifen mit "for"</a><br>
<img src="../../src/down.gif" width="14" height="10" alt="nach unten">&nbsp;<a href="#dowhile">Schleifen mit "do-while"</a><br>
<img src="../../src/down.gif" width="14" height="10" alt="nach unten">&nbsp;<a href="#break_continue">Kontrolle innerhalb von Schleifen - break und continue</a><br>
</p>
</td>
</tr><tr><td colspan="2" class="doc">&nbsp;<a href="#bottom"><img src="../../src/down.gif" width="14" height="10" border="0" alt="nach unten"></a>&nbsp;</td></tr>
</table>



<h2><img src="../../src/js10.gif" width="30" height="30" alt="JavaScript 1.0" title="JavaScript 1.0"><img src="../../src/netsc2.gif" width="30" height="30" alt="Netscape 2.0" title="Netscape 2.0"><img src="../../src/msie3.gif" width="30" height="30" alt="MS IE 3.0" title="MS IE 3.0"><img src="../../src/op512.gif" width="30" height="30" alt="Opera 5.12" title="Opera 5.12"><img src="../../src/ffox1.gif" width="30" height="30" alt="Mozilla Firefox 1" title="Mozilla Firefox 1"><img src="../../src/konq31.gif" width="30" height="30" alt="Konqueror 3.1" title="Konqueror 3.1"><img src="../../src/saf1.gif" width="30" height="30" alt="Safari 1.0" title="Safari 1.0">&nbsp;<a class="an" name="while">Schleifen mit "while"</a></h2>

<p>Mit Hilfe von while-Schleifen knnen Sie Programmanweisungen solange wiederholen, wie die Bedingung, die in der Schleife formuliert wird, erfllt ist. Solche Schleifen eignen sich dann, wenn Sie nicht wissen, wie oft die Schleife durchlaufen werden soll.</p>

<h3 class="xmp">Beispiel:</h3>

<p><img src="../../src/dokf.gif" width="15" height="10" alt="Beispiel-Seite">&nbsp;<a href="anzeige/htmlbedeutung.htm">Anzeigebeispiel: So sieht's aus</a></p>

<pre>
&lt;html&gt;&lt;head&gt;&lt;title&gt;Test&lt;/title&gt;
&lt;/head&gt;&lt;body&gt;
&lt;script type="text/javascript"&gt;
var Eingabe = "";
var Zaehler = 1;
while (Eingabe != "how to make love" &amp;&amp; Zaehler &lt;= 3) {
  Eingabe = window.prompt(Zaehler + ". Versuch: Was bedeutet 'HTML'?", "");
  Zaehler++;
}

if (Eingabe != "how to make love") {
  document.write("&lt;big&gt;Lernen Sie erst mal HTML! ...&lt;\/big&gt;");
} else {
  document.write("&lt;big&gt;Fein, Sie haben verstanden worum es geht! ...&lt;\/big&gt;");
}
&lt;/script&gt;
&lt;/body&gt;&lt;/html&gt;
</pre>

<h3 class="xpl">Erluterung:</h3>

<p>Das Beispiel bittet den Anwender in einer while-Schleife bis zu drei mal in einem Dialogfenster (<code>window.prompt()</code>), die Bedeutung der Abkrzung 'HTML' einzugeben. Die Schleife kann aus zwei Grnden beendet werden: entweder der Anwender gibt die richtige Bedeutung der Abkrzung ein, oder die Variable <code>Zaehler</code>, die die Anzahl der Versuche mitzhlt, hat einen Wert grer als 3. Wenn die Schleife beendet ist, steht also nicht fest, aus welchen der beiden mglichen Ursachen sie beendet wurde. Um das zu entscheiden, wird im Beispiel deshalb anschlieend mit Hilfe einer <img src="../../src/dok.gif" width="15" height="10" alt="Seite">&nbsp;<a href="bedingt.htm#if_else">if-Abfrage</a> nochmals berprft, ob die Schleife deshalb beendet wurde, weil die Eingabe falsch war. Je nachdem, ob sie falsch oder richtig war, wird mit <code>document.write</code> ins Anzeigefenster des Browsers ein entsprechender Satz geschrieben.</p>

<p>Eine while-Schleife beginnt mit dem Wort <code>while</code> (<i>while = solange</i>). Dahinter folgt, in Klammern stehend, die Bedingung. Um eine Bedingung zu formulieren, brauchen Sie <img src="../../src/dok.gif" width="15" height="10" alt="Seite">&nbsp;<a href="operatoren.htm#vergleich">Vergleichsoperatoren</a>. Der Inhalt der Schleife wird solange wiederholt, wie die Schleifenbedingung wahr ist.</p>

<p>In der Regel enthlt eine while-Schleife mehrere Anweisungen, die innerhalb der Schleife stehen. Notieren Sie alle Anweisungen innerhalb <b>geschweifter</b> Klammern <code>{</code> und <code>}</code>, so wie im Beispiel (siehe auch den Abschnitt ber <img src="../../src/dok.gif" width="15" height="10" alt="Seite">&nbsp;<a href="regeln.htm#anweisungsbloecke">Anweisungsblcke</a>).</p>

<h3 class="inf">Beachten Sie:</h3>

<p>Achten Sie bei while-Schleifen immer darauf, dass es mindestens eine Mglichkeit gibt, um die Schleife nach einer angemessenen Zeit zu beenden. Andernfalls erzeugen Sie eine so genannte "Endlosschleife", aus der der Anwender nur durch gewaltsames Beenden des WWW-Browsers herauskommt. Das ist besonders bei Online-Sitzungen im WWW sehr rgerlich!</p>

<p>Um Endlosschleifen zu vermeiden, brauchen Sie irgendetwas, das irgendwann zu einem Ausweg aus der Schleife fhrt. Meistens werden zu diesem Zweck so genannte "Zhler" definiert, im Beispiel die Variable <code>Zaehler</code>. Diese Variable hat im Beispiel einen Anfangswert von <code>1</code> und wird innerhalb der Schleife bei jedem Durchgang mit der Anweisung <code>Zaehler++;</code> um 1 erhht. Wenn im Beispiel der Zhlerstand grer als 3 ist, wird abgebrochen.</p>

<p>Weitere Mglichkeiten, um Schleifen abzubrechen, werden <img src="../../src/down.gif" width="14" height="10" alt="nach unten">&nbsp;<a href="#break_continue">weiter unten</a> beschrieben.</p>



<p class="doc"><a href="#top"><img src="../../src/up.gif" width="14" height="10" border="0" alt="nach oben"></a><a href="#bottom"><img src="../../src/down.gif" width="14" height="10" border="0" alt="nach unten"></a></p>



<h2><img src="../../src/js10.gif" width="30" height="30" alt="JavaScript 1.0" title="JavaScript 1.0"><img src="../../src/netsc2.gif" width="30" height="30" alt="Netscape 2.0" title="Netscape 2.0"><img src="../../src/msie3.gif" width="30" height="30" alt="MS IE 3.0" title="MS IE 3.0"><img src="../../src/op512.gif" width="30" height="30" alt="Opera 5.12" title="Opera 5.12"><img src="../../src/ffox1.gif" width="30" height="30" alt="Mozilla Firefox 1" title="Mozilla Firefox 1"><img src="../../src/konq31.gif" width="30" height="30" alt="Konqueror 3.1" title="Konqueror 3.1"><img src="../../src/saf1.gif" width="30" height="30" alt="Safari 1.0" title="Safari 1.0">&nbsp;<a class="an" name="for">Schleifen mit "for"</a></h2>

<p>Die Schleifenbedingung einer for-Schleife sieht von vorneherein einen Zhler und eine Abbruchbedingung vor.</p>

<h3 class="xmp">Beispiel:</h3>

<p><img src="../../src/dokf.gif" width="15" height="10" alt="Beispiel-Seite">&nbsp;<a href="anzeige/schrift.htm">Anzeigebeispiel: So sieht's aus</a></p>

<pre>
&lt;html&gt;&lt;head&gt;&lt;title&gt;Test&lt;/title&gt;
&lt;/head&gt;&lt;body&gt;
&lt;script type="text/javascript"&gt;
var Ausgabe = "";
for (var i = 10; i &lt;= 36; i++)
  Ausgabe = Ausgabe + '&lt;span style="font-size:' + i + 'px"&gt;Schrift mit ' +
    i + ' Pixel Gr&amp;ouml;&amp;szlig;e&lt;\/span&gt;&lt;br&gt;';
document.write(Ausgabe);
&lt;/script&gt;
&lt;/body&gt;&lt;/html&gt;
</pre>

<h3 class="xpl">Erluterung:</h3>

<p>Das Beispiel definiert eine Variable namens <code>Ausgabe</code>, die im Verlauf einer for-Schleife immer mehr Inhalt erhlt und am Ende mit <code>document.write</code> ihren ganzen Inhalt ins Browser-Fenster schreibt. Die for-Schleife wird insgesamt 27 mal durchlaufen, nmlich so oft, wie der Zhler, der in der Variablen <code>i</code> definiert und mit dem Wert <code>10</code> initialisiert wird, kleiner oder gleich 36 ist, wobei er bei jedem Schleifendurchlauf um 1 erhht wird (<code>i++</code>). Mit jedem Schleifendurchgang wird die Variable <var>Ausgabe</var> mit ihrem jeweils bisherigen Wert um etwas HTML-Code mit der <img src="../../src/kap.gif" width="15" height="13" alt="Kapitel">&nbsp;<a href="../../css/index.htm">CSS</a>-Angabe <code>font-size</code> (Schriftgre) erweitert. Der Wert, der <code>font-size</code> dabei zugewiesen wird, ist jeweils der Wert von <code>i</code>. So entsteht der Effekt, dass CSS-Angaben von <code>font-size:10px</code> bis <code>font-size:36px</code> erzeugt werden. Das Ergebnis wird am Ende ausgegeben. Zum Verstndnis der zusammengesetzten Teile bei <code>Ausgabe</code> siehe auch <img src="../../src/dok.gif" width="15" height="10" alt="Seite">&nbsp;<a href="operatoren.htm#zeichenkettenverknuepfung">Operator fr Zeichenkettenverknpfung</a>.</p>

<p>Eine for-Schleife beginnt mit dem Wort <code>for</code>. Dahinter wird, in Klammern stehend, die Schleifenbedingung formuliert. Bei der for-Schleife gilt dabei eine feste Syntax. Innerhalb der Schleifenbedingung werden drei Anweisungen notiert. In der ersten Anweisung wird ein Schleifenzhler definiert und initialisiert. Im Beispiel wird ein Zhler <code>i</code> definiert und mit dem Wert <code>10</code> initialisiert. Die zweite Anweisung enthlt die Bedingung, ab der die Schleife beendet wird. Dazu brauchen Sie <img src="../../src/dok.gif" width="15" height="10" alt="Seite">&nbsp;<a href="operatoren.htm#vergleich">Vergleichsoperatoren</a>. In der dritten Anweisung wird der Schleifenzhler so verndert, dass er irgendwann die in der zweiten Anweisung notierte Bedingung erfllt. Im Beispiel wird der Zhler mit <code>i++</code> bei jedem Schleifendurchgang um 1 erhht. An dieser Stelle knnte aber auch so etwas stehen wie <code>i=i+10</code> (bei jedem Schleifendurchgang um 10 erhhen).</p>

<p><a name="for_in"></a>Eine spezielle Abart der for-Schleife ist die <b>for-in-Schleife</b>.</p>

<h3 class="xmp">Beispiel:</h3>

<p><img src="../../src/dokf.gif" width="15" height="10" alt="Beispiel-Seite">&nbsp;<a href="anzeige/objekteigenschaften.htm">Anzeigebeispiel: So sieht's aus</a></p>

<pre>
&lt;html&gt;&lt;head&gt;&lt;title&gt;Test&lt;/title&gt;
&lt;/head&gt;&lt;body&gt;
&lt;script type="text/javascript"&gt;
var Ausgabe = "";
for (var Eigenschaft in document)
  Ausgabe = Ausgabe + "document." + Eigenschaft + ": " + document[Eigenschaft] + "&lt;br&gt;";
document.write("&lt;h1&gt;Eigenschaften des Objekts &lt;i&gt;document&lt;\/i&gt;&lt;\/h1&gt;");
document.write(Ausgabe);
&lt;/script&gt;
&lt;/body&gt;&lt;/html&gt;
</pre>

<h3 class="xpl">Erluterung:</h3>

<p>Das Beispiel zeigt, wie Sie mit Hilfe einer for-in-Schleife einiges ber die JavaScript-Fhigkeiten Ihres Browsers herausbekommen knnen. Im Beispiel werden die Eigenschaften des Objektes <code>document</code> ausgegeben. Mit jedem Schleifendurchgang wird die Variable <code>Ausgabe</code> um eine Objekteigenschaft erweitert. Den aktuellen Wert der Objekteigenschaft knnen Sie sich mit <code>Objektname[Eigenschaft]</code> ausgeben lassen. Die Schleife luft so lange, wie es verfgbare Objekteigenschaften gibt - dies bedeutet das <code>for in</code>.</p>

<h3 class="inf">Beachten Sie:</h3>

<p>Wenn Sie mehr als eine Anweisung von einer for-Schleifenbedingung abhngig machen wollen, mssen Sie die Anweisungen wie blich in geschweifte Klammern einschlieen.</p>

<p>Die for-in-Schleife knnen Sie in Opera bis einschlielich Version 6 nur auf selbstdefinierte Objekte und Variablen anwenden. Bei vordefinierten Objekten bleibt die Schleife wirkungslos. Der Internet Explorer kennt diese Schleifenart erst ab Version 4.01. Mozilla Firefox kennt zwar die for-in-Schleife, das Beispiel bricht jedoch beim Lesen der Eigenschaft <code>document.domConfig</code> mit einem Zugriffsfehler ab.</p>



<p class="doc"><a href="#top"><img src="../../src/up.gif" width="14" height="10" border="0" alt="nach oben"></a><a href="#bottom"><img src="../../src/down.gif" width="14" height="10" border="0" alt="nach unten"></a></p>



<h2><img src="../../src/js12.gif" width="30" height="30" alt="JavaScript 1.2" title="JavaScript 1.2"><img src="../../src/netsc4.gif" width="30" height="30" alt="Netscape 4.0" title="Netscape 4.0"><img src="../../src/msie4.gif" width="30" height="30" alt="MS IE 4.0" title="MS IE 4.0"><img src="../../src/op512.gif" width="30" height="30" alt="Opera 5.12" title="Opera 5.12"><img src="../../src/ffox1.gif" width="30" height="30" alt="Mozilla Firefox 1" title="Mozilla Firefox 1"><img src="../../src/konq31.gif" width="30" height="30" alt="Konqueror 3.1" title="Konqueror 3.1"><img src="../../src/saf1.gif" width="30" height="30" alt="Safari 1.0" title="Safari 1.0">&nbsp;<a class="an" name="dowhile">Schleifen mit "do-while"</a></h2>

<p>Die do-while-Schleife ist eine Variante der normalen <img src="../../src/up.gif" width="14" height="10" alt="nach oben">&nbsp;<a href="#while">while-Schleife</a>. Der Unterschied zwischen beiden ist, dass bei der normalen while-Schleife <b>vor</b> dem Ausfhren des Codes die Schleifenbedingung berprft wird, whrend bei der do-while-Schleife <b>zuerst</b> der Code ausgefhrt und erst danach die Schleifenbedingung berprft wird. Auf diese Weise knnen Sie erzwingen, dass Anweisungen innerhalb der Schleife auf jeden Fall mindestens einmal ausgefhrt werden, auch wenn sich die Schleifenbedingung gleich am Anfang als unwahr herausstellt.</p>

<h3 class="xmp">Beispiel:</h3>

<pre>
Einmal so:
&lt;script type="text/javascript"&gt;
var x = 10;
do {
  document.write("&lt;br&gt;x * x = " + (x * x));
  x = x + 1;
} while (x &lt; 10);
&lt;/script&gt;
Und einmal so:
&lt;script type="text/javascript"&gt;
var x = 10;
while (x &lt; 10) {
  document.write("&lt;br&gt;x * x = " + (x * x));
  x = x + 1;
}
&lt;/script&gt;
</pre>

<h3 class="xpl">Erluterung:</h3>

<p>Im Beispiel werden zwei kleine JavaScript-Bereiche definiert. In beiden Bereichen wird eine Variable <code>x</code> definiert und mit dem Wert <code>10</code> vorbelegt. Im ersten Bereich wird solange das Quadrat von <code>x</code> (das bei jedem Schleifendurchlauf um 1 erhht wird) geschrieben, wie <code>x</code> kleiner als <code>10</code> ist. Da <code>x</code> ja schon am Beginn den Wert <code>10</code> hat, ist die Abbruchbedingung eigentlich schon von vorneherein erfllt. Trotzdem wird einmal das Quadrat von <code>x</code> ausgegeben, da die berprfung der Schleifenbedingung erst nach dem Ausfhren der Anweisungen innerhalb der Schleife erfolgt.<br>
Im zweiten Script-Bereich herrschen die gleichen Bedingungen, jedoch wird dort eine normale while-Schleife notiert. Da <code>x</code> von vorneherein nicht kleiner als <code>10</code> ist, werden die Anweisungen der while-Schleife kein einziges Mal ausgefhrt. Die berprfung der Schleifenbedingung, die am Anfang stattfindet, verhindert dies.</p>



<p class="doc"><a href="#top"><img src="../../src/up.gif" width="14" height="10" border="0" alt="nach oben"></a><a href="#bottom"><img src="../../src/down.gif" width="14" height="10" border="0" alt="nach unten"></a></p>



<h2><img src="../../src/js10.gif" width="30" height="30" alt="JavaScript 1.0" title="JavaScript 1.0"><img src="../../src/netsc2.gif" width="30" height="30" alt="Netscape 2.0" title="Netscape 2.0"><img src="../../src/msie3.gif" width="30" height="30" alt="MS IE 3.0" title="MS IE 3.0"><img src="../../src/op512.gif" width="30" height="30" alt="Opera 5.12" title="Opera 5.12"><img src="../../src/ffox1.gif" width="30" height="30" alt="Mozilla Firefox 1" title="Mozilla Firefox 1"><img src="../../src/konq31.gif" width="30" height="30" alt="Konqueror 3.1" title="Konqueror 3.1"><img src="../../src/saf1.gif" width="30" height="30" alt="Safari 1.0" title="Safari 1.0">&nbsp;<a class="an" name="break_continue">Kontrolle innerhalb von Schleifen - break und continue</a></h2>

<p>Schleifen sind "kritische Faktoren" innerhalb eines Scripts. Bei komplizierteren Aufgaben ist es manchmal nicht einfach, eine Schleife so zu programmieren, dass die Schleife in jedem Fall irgendwann mal abgebrochen wird. Deshalb gibt es zustzliche Befehle, um innerhalb einer Schleife das Geschehen zu kontrollieren.</p>

<h3 class="xmp">Beispiel 1:</h3>

<pre>
&lt;script type="text/javascript"&gt;
var i = 0;
while (i &lt; 6) {
  if (i == 3)
    break;
  i++;
  alert("i = " + i);
}
&lt;/script&gt;
</pre>

<h3 class="xpl">Erluterung:</h3>

<p>Mit <code>break</code> knnen Sie eine Schleife sofort beenden. Dazu mssen Sie innerhalb des Schleifenkrpers eine if-Abfrage und abhngig davon das Wort <code>break</code> als Anweisung notieren. Im Beispiel bricht die Schleife bereits ab, wenn <code>i</code> den Wert 3 hat, obwohl laut Schleifenbedingung das Hochzhlen bis 6 erlaubt ist.</p>

<h3 class="xmp">Beispiel 2:</h3>

<pre>
&lt;script type="text/javascript"&gt;
var i = 0;
while (i &lt; 6) {
Ende:
  if (i == 3) {
    alert("Das war's, denn i ist gleich " + i);
    break Ende;
  }
  i++;
}
&lt;/script&gt;
</pre>

<h3 class="xpl">Erluterung:</h3>

<p>Dies ist eine besondere Variante von <code>break</code>. Sie knnen vor einer Abfrage, von der Sie eine break-Anweisung abhngig machen, ein "Label" notieren. Das ist ein selbstvergebener Name mit einem Doppelpunkt dahinter, im Beispiel <code>Ende:</code>. Hinter dem Wort <code>break</code> knnen Sie dann den Namen des Labels angeben. So stellen Sie im Beispiel sicher, dass sich die break-Anweisung auf jeden Fall auf jene if-Abfrage bezieht, in der abgefragt wird, ob <code>i</code> gleich 3 ist. In einfachen Fllen wie im obigen Beispiel ist das eigentlich berflssig. Aber behalten Sie die Mglichkeit im Auge, falls Sie einmal verschachtelte if-Abfragen innerhalb von Schleifen programmieren und dort auch break-Anweisungen benutzen. Beachten Sie jedoch, dass diese Variante der break-Anweisung JavaScript 1.2 ist und bei lteren Browsern zu einer Fehlermeldung fhrt.</p>

<h3 class="xmp">Beispiel 3:</h3>

<pre>
&lt;script type="text/javascript"&gt;
var i = 0, j = 0;
while (i &lt; 6) {
  i++;
  if (i == 3)
    continue;
  j++;
}

alert("i ist gleich " + i + " und j ist gleich " + j);
&lt;/script&gt;
</pre>

<h3 class="xpl">Erluterung:</h3>

<p>Mit <code>continue</code> erzwingen Sie sofort den nchsten Schleifendurchlauf. Nachfolgende Anweisungen innerhalb der Schleife werden bei diesem Schleifendurchlauf nicht mehr ausgefhrt. Im Beispiel werden zwei Zhler <code>i</code> und <code>j</code> bei jedem Schleifendurchlauf um 1 erhht. Wenn <code>i</code> gleich 6 ist, wird die Schleife abgebrochen. Zwischendurch hat <code>i</code> auch mal den Wert 3. Dieser Fall wird mit einer if-Abfrage behandelt. Wenn <code>i</code> gleich 3 ist, wird sofort der nchste Schleifendurchgang gestartet. Die Anweisung <code>j++;</code> wird dadurch in diesem Schleifendurchlauf nicht mehr ausgefhrt. Am Ende hat dadurch <code>i</code> den Wert 6 und <code>j</code> nur den Wert 5.</p>



<table cellpadding="4" cellspacing="0" border="0" width="100%">
<tr><td colspan="2" class="doc">
&nbsp;<a href="#top"><img src="../../src/up.gif" width="14" height="10" border="0" alt="nach oben"></a>
</td></tr>
<tr><td class="doc"><a href="reserviert.htm"><img src="../../src/next.gif" width="10" height="10" border="0" hspace="10" alt="weiter"></a></td>
<td width="100%"><img src="../../src/dok.gif" width="15" height="10" alt="Seite">&nbsp;<a href="reserviert.htm">Reservierte Wrter</a>
</td></tr>
<tr>
<td class="doc"><a href="bedingt.htm"><img src="../../src/prev.gif" width="10" height="10" border="0" hspace="10" alt="zurck"></a></td>
<td><img src="../../src/dok.gif" width="15" height="10" alt="Seite">&nbsp;<a href="bedingt.htm">Bedingte Anweisungen (if-else/switch)</a>
</td>
</tr>
<tr><td colspan="2" class="doc">&nbsp;</td>
</tr>
<tr>
<td colspan="2" class="nav"><a class="an" name="bottom"><img src="../../src/refkap.gif" width="16" height="13" alt="Teil von"></a> <a href="../../index.htm">SELFHTML</a>/<a href="../../navigation/index.htm" target="_parent" class="navh">Navigationshilfen</a> <img src="../../src/refkap.gif" width="16" height="13" alt="Teil von">&nbsp;<a href="../index.htm">JavaScript/DOM</a> <img src="../../src/refkap.gif" width="16" height="13" alt="Teil von">&nbsp;<a href="index.htm">Sprachelemente</a></td>
</tr>
</table>

<p>&copy; 2005 <img src="../../src/dok.gif" width="15" height="10" alt="Seite">&nbsp;<a href="../../editorial/impressum.htm">Impressum</a></p>

</body>
</html>