JavaScript mens Loop


Indholdsfortegnelse

    Vis indholdsfortegnelse


Loops kan udføre en kodeblok så længe en specificeret betingelse er sand.


while-løkken

while-løkken går gennem en kodeblok, så længe en specificeret betingelse er sand.

Syntaks

while (condition) {
      // code block to be executed
 }

Eksempel

I det følgende eksempel vil koden i løkken køre, igen og igen, så længe en variabel (i) er mindre end 10:

Eksempel

while (i < 10) {
    text += "The number is " + i;
    i++;
}
 

Prøv det selv →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript While Loop</h2>

<p id="demo"></p>

<script>
let text = "";
let i = 0;
while (i < 10) {
  text += "<br>The number is " + i;
  i++;
}
document.getElementById("demo").innerHTML = text;
</script>

</body>
</html>

Hvis du glemmer at øge den variabel, der bruges i betingelsen, vil løkken aldrig ende. Dette vil nedbryde din browser.


do while-løkken

do while-løkken er en variant af while-løkken. Denne sløjfe vil udfør kodeblokken én gang, før du kontrollerer, om betingelsen er sand, så vil den gentag løkken, så længe betingelsen er sand.

Syntaks

do {
      // code block to be executed
}
while (condition);

Eksempel

Eksemplet nedenfor bruger en do while-løkke. Løkken vil altid være udføres mindst én gang, selvom betingelsen er falsk, fordi kodeblokken udføres før betingelsen testes:

Eksempel

do {
    text += "The number is " + i;
    i++;
 }
while (i < 10);

Prøv det selv →

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript Do While Loop</h2>

<p id="demo"></p>

<script>
let text = ""
let i = 0;

do {
  text += "<br>The number is " + i;
  i++;
}
while (i < 10);  

document.getElementById("demo").innerHTML = text;
</script>

</body>
</html>

Glem ikke at øge den variabel, der bruges i betingelsen, ellers løkken vil aldrig ende!



Sammenligner for og mens

Hvis du har læst det forrige kapitel, om for-løkken, vil du opdage, at en while-løkke er stort set det samme som en for-løkke, med sætning 1 og sætning 3 udeladt.

Sløjfen i dette eksempel bruger en for løkke til at samle bilen navne fra bilerne:

Eksempel

const cars = ["BMW", "Volvo", "Saab", "Ford"];
let i = 0;
let text = "";

for (;cars[i];) {
    text += cars[i];
   
i++;
}

Prøv det selv →

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
const cars = ["BMW", "Volvo", "Saab", "Ford"];

let i = 0;
let text = "";
for (;cars[i];) {
  text += cars[i] + "<br>";
  i++;
}

document.getElementById("demo").innerHTML = text;
</script>

</body>
</html>

Løkken i dette eksempel bruger en while-løkke til at indsamle bilnavne fra biler-arrayet:

Eksempel

const cars = ["BMW", "Volvo", "Saab", "Ford"];
let i = 0;
let text = "";
 
 while (cars[i]) {
    text += cars[i];
   
i++;
}

Prøv det selv →

<!DOCTYPE html>
<html>
<body>

<p id="demo"></p>

<script>
const cars = ["BMW", "Volvo", "Saab", "Ford"];

let i = 0;
let text = "";
while (cars[i]) {
  text += cars[i] + "<br>";
  i++;
}

document.getElementById("demo").innerHTML = text;
</script>

</body>
</html>