For, While og Do While LOOP ind JavaScript (med eksempel)
Hvordan bruger man Loop?
Sløjfer er nyttige, når du skal udføre de samme kodelinjer gentagne gange, et bestemt antal gange eller så længe en bestemt betingelse er sand. Antag, at du vil skrive en 'Hej'-besked 100 gange på din webside. Selvfølgelig skal du kopiere og indsætte den samme linje 100 gange. I stedet, hvis du bruger loops, kan du fuldføre denne opgave på kun 3 eller 4 linjer.
Forskellige typer løkker
Der er hovedsageligt fire typer sløjfer i JavaScript.
- til løkke
- for/i en løkke (forklaret senere)
- mens løkke
- gør ... mens sløjfe
til løkke
Syntaks:
for(statement1; statement2; statment3) { lines of code to be executed }
- Udsagnet1 udføres først, selv før looping-koden udføres. Så denne erklæring bruges normalt til at tildele værdier til variabler, der vil blive brugt inde i løkken.
- Udsagnet2 er betingelsen for at udføre løkken.
- Udsagnet3 udføres hver gang efter at looping-koden er udført.
Prøv selv dette:
<html> <head> <script type="text/javascript"> var students = new Array("John", "Ann", "Aaron", "Edwin", "Elizabeth"); document.write("<b>Using for loops </b><br />"); for (i=0;i<students.length;i++) { document.write(students[i] + "<br />"); } </script> </head> <body> </body> </html>
mens løkke
Syntaks:
while(condition) { lines of code to be executed }
"While loop" udføres, så længe den angivne betingelse er sand. Inde i while-løkken bør du inkludere erklæringen, der vil afslutte løkken på et tidspunkt. Ellers vil din loop aldrig ende, og din browser kan gå ned.
Prøv selv dette:
<html> <head> <script type="text/javascript"> document.write("<b>Using while loops </b><br />"); var i = 0, j = 1, k; document.write("Fibonacci series less than 40<br />"); while(i<40) { document.write(i + "<br />"); k = i+j; i = j; j = k; } </script> </head> <body> </body> </html>
gør ... mens sløjfe
Syntaks:
do { block of code to be executed } while (condition)
Do...while-løkken minder meget om while-løkken. Den eneste forskel er, at i do...while loop, bliver kodeblokken eksekveret én gang, selv før tilstanden kontrolleres.
Prøv selv dette:
<html> <head> <script type="text/javascript"> document.write("<b>Using do...while loops </b><br />"); var i = 2; document.write("Even numbers less than 20<br />"); do { document.write(i + "<br />"); i = i + 2; }while(i<20) </script> </head> <body> </body> </html>