JavaScript

Loopar

En alldeles särskild form av villkorade satser är loopar. Loopar innebär att någonting kommer att fortsätta upprepas så länge villkoren är uppfyllda. Loopar är mycket vanliga i script du kommer stöta på och jobba med, så det är en bra idé att ha bra koll på hur de fungerar.

Loopar i JavaScript kan delas in i while- och for-loopar, som fungerar på lite olika sätt.

while

En while-loop är egentligen rätt lik en if-sats. En while-loop ser näsan exakt likadan ut som en if-sats, men med if utbytt mot ordet while.

while (villkor) {
sats;
}

Satserna inom hakparenteser i en if-sats bara körs en gång, i en while-loop kommer dessa att upprepas hång på gång, så länge som villkoren är uppfyllda.

Testa till exempel nedanstående exempel:

var count = 1;
while (count < 11) {
alert (count);
count++; }

Scriptet börjar med att definiera variabeln count och tilldela den det numeriska värdet 1. villkoret för scriptet är att det ska upprepas, loopas så länge värdet på count är mindre än 11. Detta ska resultera i en alertruta som visar värdet till count. Dessutom ska loopen räkna upp värdet till count med ett steg. Eftersom det är en loop, kommer count att gå från 1, till 2, 3, 4 och så vidare, tills loopen avslutas då värdet passerat 10.

Det kan vara värt att påpeka vikten av att värdet räknas upp (count++;). Om inte detta gjordes skulle loopen fortsätta öppna nya alertrutor hur länge som helst.

do… while

Det kan finnas tillfällen då en while-loop överhuvud taget inte kommer att köras eftersom villkoren inte är uppfyllda från början (detta gälller förresten också vanliga if-satser

För att säkerställa att scriptet körs åtmninstone en gång kan man kombinera while med do så här:

var count = 1;
do { alert (count);
count++;
} while (count < 1)

I fallet ovan kommer villkoret aldrig vara uppfyllt (kolla på det så kommer du förstå varför) men det kommer ändå köras en gång, eftersom det använder do

for

I stället för att använda sig av kombinationen dowhile an man använda sig av en något annorlunda form av loop, for-loopen. for har fördelen atta den sammanfattar en hel del av det som vi gjorde ovan. Den gör ungefär:

börja;
while (villkor) {
satser;
ökning; }

Men skrivs på ett prydligare sätt:

for (ursprungsvärde; värdet som testas (villkor); ändra värde) {
satser; }

Om vi tar samma loop som ovan men omformulerar den till en for-loop kan det se ut så här:

for (var count = 1; count < 11; count++ ) {
alert (count);
}

Den vanligaste for-loopen är den som används för att loopa igenom en array. Vi kan ta det tidigare Motorheadexemplet och testa med:

var motorhead = Array("Lemmy", "Phil", "Mikkey Dee", "Larry", "Lucas", "Philthy Phil", "Eddie", "Brian", "Würzel", "Pete");
for (var count = 0 ; count < motorhead.length; count++ ) {
alert(motorhead[count]);
}