8. februar 2026

Løkker: while og for

Vi har ofte brug for at gentage handlinger.

For eksempel at vise varer fra en liste én efter én eller bare køre den samme kode for hvert tal fra 1 til 10.

Løkker er en måde at gentage den samme kode flere gange på.

for…of og for…in løkker

En lille meddelelse til avancerede læsere.

Denne artikel dækker kun grundlæggende løkker: while, do..while og for(..;..;..).

Hvis du kom til denne artikel for at søge efter andre typer løkker, er her nogle henvisninger:

  • Se for…in for at løkke over objektets egenskaber.
  • Se for…of og iterables for at løkke over arrays og iterable objekter.

Ellers, fortsæt bare med at læse.

“while” løkken

“while” løkken har følgende syntaks:

while (betingelse) {
  // kode
  // såkaldt "loop body" eller løkkens krop
}

Mens betingelsen er sand, udføres koden fra løkkens krop.

For eksempel viser løkken nedenfor i, mens i < 3:

let i = 0;
while (i < 3) { // viser 0, så 1, så 2
  alert( i );
  i++;
}

En enkelt udførelse af løkkens krop kaldes en iteration. Løkken i eksemplet ovenfor laver tre iterationer.

Hvis i++ manglede i eksemplet ovenfor, ville løkken gentage sig (i teorien) for evigt. I praksis giver browseren måder at stoppe sådanne løkker på, og i server-side JavaScript kan vi dræbe processen.

Enhver udtryk eller variabel kan være en løkkebetingelse, ikke kun sammenligninger: betingelsen evalueres og konverteres til en boolean af while.

For eksempel er en kortere måde at skrive while (i != 0)while (i):

let i = 3;
while (i) { // når i bliver 0, bliver betingelsen falsy, og løkken stopper
  alert( i );
  i--;
}
Krøllede parenteser er ikke påkrævet for en enkeltlinjet krop

Hvis løkkens krop har en enkelt sætning, kan vi udelade de krøllede parenteser {…}: