JavaScript while and do ... while Loop (esimerkkejä)

Tässä opetusohjelmassa opit while loopista ja do… while loopista esimerkkien avulla.

Ohjelmoinnissa silmukoita käytetään toistamaan koodilohko. Esimerkiksi, jos haluat näyttää viestin 100 kertaa, voit käyttää silmukkaa. Se on vain yksinkertainen esimerkki; voit saavuttaa paljon enemmän silmukoilla.

Edellisessä opetusohjelmassa opit JavaScript for loop -sovelluksesta. Tässä aiot oppia whileja do… whilesilmukoita.

JavaScript samalla kun silmukka

whileSilmukan syntaksi on:

 while (condition) ( // body of loop )

Tässä,

  1. whileSilmukka arvioi ehto sulkeiden sisään ().
  2. Jos ehto arvioi arvon true, whilesilmukan sisällä oleva koodi suoritetaan.
  3. Ehto arvioidaan uudelleen.
  4. Tämä prosessi jatkuu, kunnes ehto on false.
  5. Kun ehto arvioidaan false, silmukka pysähtyy.

Saat lisätietoja olosuhteista käymällä JavaScript-vertailu- ja loogiset operaattorit -sivulla.

Vuokaavio silmukasta

Vuokaavio JavaScriptiä silmukasta

Esimerkki 1: Näytä numerot 1-5

 // program to display numbers from 1 to 5 // initialize the variable let i = 1, n = 5; // while loop from i = 1 to 5 while (i <= n) ( console.log(i); i += 1; )

Tuotos

 1 2 3 4 5

Näin tämä ohjelma toimii.

Toisto Vaihteleva Ehto: i <= n Toiminta
1 i = 1
n = 5
true 1 on tulostettu. i korotetaan arvoon 2 .
2. i = 2
n = 5
true 2 on tulostettu. i korotetaan arvoon 3 .
3. i = 3
n = 5
true 3 on tulostettu. i korotetaan arvoon 4 .
4. päivä i = 4
n = 5
true 4 on tulostettu. i korotetaan arvoon 5 .
5. i = 5
n = 5
true 5 on tulostettu. i korotetaan arvoon 6 .
6. i = 6
n = 5
false Silmukka on päättynyt

Esimerkki 2: Vain positiivisten lukujen summa

 // program to find the sum of positive numbers // if the user enters a negative numbers, the loop ends // the negative number entered is not added to sum let sum = 0; // take input from the user let number = parseInt(prompt('Enter a number: ')); while(number>= 0) ( // add all positive numbers sum += number; // take input again if the number is positive number = parseInt(prompt('Enter a number: ')); ) // display the sum console.log(`The sum is $(sum).`);

Tuotos

 Syötä numero: 2 Syötä numero: 5 Syötä numero: 7 Syötä numero: 0 Syötä numero: -3 Summa on 14.

Yllä olevassa ohjelmassa käyttäjää kehotetaan syöttämään numero.

Tässä parseInt()käytetään, koska se prompt()vie käyttäjän syötteen merkkijonona. Ja kun numeeriset merkkijonot lisätään, se käyttäytyy merkkijonona. Esimerkiksi '2' + '3' = '23'. Joten parseInt()muuntaa numeerisen merkkijonon luvuksi.

whileSilmukka jatkuu, kunnes käyttäjä syöttää negatiivinen luku. Kunkin iteraation aikana käyttäjän syöttämä numero lisätään summuuttujaan.

Kun käyttäjä syöttää negatiivisen luvun, silmukka päättyy. Lopuksi näytetään kokonaissumma.

JavaScript ei… kun taas silmukka

do… whileSilmukan syntaksi on:

 do ( // body of loop ) while(condition)

Tässä,

  1. Silmukan runko suoritetaan aluksi. Sitten kunto arvioidaan.
  2. Jos ehto arvioi arvon true, dolauseen sisällä olevan silmukan runko suoritetaan uudelleen.
  3. Ehto arvioidaan uudelleen.
  4. Jos ehto arvioi arvon true, dolauseen sisällä olevan silmukan runko suoritetaan uudelleen.
  5. Tämä prosessi jatkuu, kunnes ehto arvioidaan false. Sitten silmukka pysähtyy.

Huomaa : do… whilesilmukka on samanlainen kuin whilesilmukka. Ainoa ero on, että do… whilesilmukassa silmukan runko suoritetaan ainakin kerran.

Vuokaavio tehtävästä … samalla kun silmukka

Vuokaavio JavaScriptiä… silmukasta

Katsotaanpa do… whilesilmukan toimintaa.

Esimerkki 3: Näytä numerot 1-5

 // program to display numbers let i = 1; const n = 5; // do… while loop from 1 to 5 do ( console.log(i); i++; ) while(i <= n);

Tuotos

 1 2 3 4 5

Näin tämä ohjelma toimii.

Toisto Vaihteleva Ehto: i <= n Toiminta
i = 1
n = 5
ei tarkistettu 1 on tulostettu. i korotetaan arvoon 2 .
1 i = 2
n = 5
true 2 on tulostettu. i korotetaan arvoon 3 .
2. i = 3
n = 5
true 3 on tulostettu. i korotetaan arvoon 4 .
3. i = 4
n = 5
true 4 on tulostettu. i korotetaan arvoon 5 .
4. päivä i = 5
n = 5
true 6 on tulostettu. i korotetaan arvoon 6 .
5. i = 6
n = 5
false Silmukka on päättynyt

Esimerkki 4: Positiivisten lukujen summa

 // to find the sum of positive numbers // if the user enters negative number, the loop terminates // negative number is not added to sum let sum = 0; let number = 0; do ( sum += number; number = parseInt(prompt('Enter a number: ')); ) while(number>= 0) console.log(`The sum is $(sum).`);

Lähtö 1

 Syötä numero: 2 Syötä numero: 4 Syötä numero: -500 Summa on 6.

Here, the do… while loop continues until the user enters a negative number. When the number is negative, the loop terminates; the negative number is not added to the sum variable.

Output 2

 Enter a number: -80 The sum is 0.

The body of the do… while loop runs only once if the user enters a negative number.

Infinite while Loop

If the condition of a loop is always true, the loop runs for infinite times (until the memory is full). For example,

 // infinite while loop while(true)( // body of loop )

Here is an example of an infinite do… while loop.

 // infinite do… while loop const count = 1; do ( // body of loop ) while(count == 1)

In the above programs, the condition is always true. Hence, the loop body will run for infinite times.

for Vs while Loop

A for loop is usually used when the number of iterations is known. For example,

 // this loop is iterated 5 times for (let i = 1; i <=5; ++i) ( // body of loop )

Ja whileja do… whilesilmukoita käytetään yleensä, kun iteraatioiden määrää ei tunneta. Esimerkiksi,

 while (condition) ( // body of loop )

Mielenkiintoisia artikkeleita...