V tej vadnici boste s pomočjo primerov spoznali zanko while in zanko… while.
Pri programiranju se zanke uporabljajo za ponavljanje bloka kode. Če želite na primer sporočilo prikazati 100-krat, lahko uporabite zanko. To je le preprost primer; z zankami lahko dosežete veliko več.
V prejšnji vadnici ste izvedeli o zanki JavaScript for. Tukaj boste spoznali whilein do… whilezanke.
JavaScript, medtem ko zanko
Sintaksa whilezanke je:
while (condition) ( // body of loop )
Tukaj,
whileZanka ocenjuje stanje znotraj oklepaju().- Če pogoj oceni na
true, se izvede koda znotrajwhilezanke. - Stanje ponovno oceniti.
- Ta proces se nadaljuje, dokler se stanje je
false. - Ko se stanje oceni na
false, se zanka ustavi.
Če želite izvedeti več o pogojih , obiščite JavaScript Primerjalni in logični operaterji.
Diagram poteka zanke while
Diagram poteka JavaScript zanke
Primer 1: Prikaži številke od 1 do 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; )
Izhod
1 2 3 4 5
Tukaj je opisano, kako deluje ta program.
| Ponavljanje | Spremenljiv | Stanje: i <= n | Ukrepanje |
|---|---|---|---|
| 1. | i = 1n = 5 | true | 1 je natisnjen. i se poveča na 2 . |
| 2. | i = 2n = 5 | true | 2 je natisnjen. i se poveča na 3 . |
| 3. | i = 3n = 5 | true | 3 je natisnjen. i se poveča na 4 . |
| 4. | i = 4n = 5 | true | 4 je natisnjen. i se poveča na 5 . |
| 5. | i = 5n = 5 | true | 5 je natisnjeno. i se poveča na 6 . |
| 6. | i = 6n = 5 | false | Zanka je prekinjena |
Primer 2: Vsota samo pozitivnih števil
// 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).`);
Izhod
Vnesite številko: 2 Vnesite številko: 5 Vnesite številko: 7 Vnesite številko: 0 Vnesite številko: -3 Vsota je 14.
V zgornjem programu je uporabnik pozvan, da vnese številko.
Tu parseInt()se uporablja, ker prompt()vnese podatke uporabnika kot niz. In ko so dodani številski nizi, se obnaša kot niz. Na primer '2' + '3' = '23'. Torej parseInt()pretvori številski niz v število.
whileZanka se nadaljuje, dokler uporabnik ne vnese z negativnim predznakom. Med vsako ponovitvijo se sumspremenljivki doda številka, ki jo vnese uporabnik .
Ko uporabnik vnese negativno število, se zanka konča. Na koncu se prikaže skupna vsota.
JavaScript do … while Loop
Sintaksa do… whilezanke je:
do ( // body of loop ) while(condition)
Tukaj,
- Telo zanke se najprej izvede. Nato se stanje oceni.
- Če pogoj oceni na
true, se telo zanke znotrajdostavka znova izvede. - Stanje se ocenjuje enkrat.
- Če pogoj oceni na
true, se telo zanke znotrajdostavka znova izvede. - Ta postopek se nadaljuje, dokler stanje ne oceni na
false. Nato se zanka ustavi.
Opomba : do… whilezanka je podobna whilezanki. Edina razlika je v tem, da se v do… whilezanki telo zanke izvede vsaj enkrat.
Diagram poteka do … while Loop
Diagram poteka JavaScript zanke do… while
Poglejmo, kako deluje do… whilezanka.
Primer 3: Prikaz številk od 1 do 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);
Izhod
1 2 3 4 5
Tukaj je opisano, kako deluje ta program.
| Ponavljanje | Spremenljiv | Stanje: i <= n | Ukrepanje |
|---|---|---|---|
i = 1n = 5 | ni preverjeno | 1 je natisnjen. i se poveča na 2 . | |
| 1. | i = 2n = 5 | true | 2 je natisnjen. i se poveča na 3 . |
| 2. | i = 3n = 5 | true | 3 je natisnjen. i se poveča na 4 . |
| 3. | i = 4n = 5 | true | 4 je natisnjen. i se poveča na 5 . |
| 4. | i = 5n = 5 | true | 6 je natisnjeno. i se poveča na 6 . |
| 5. | i = 6n = 5 | false | Zanka je prekinjena |
Primer 4: Vsota pozitivnih števil
// 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).`);
Izhod 1
Vnesite številko: 2 Vnesite številko: 4 Vnesite številko: -500 Vsota je 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 )
Zanke and whilein do… whilese običajno uporabljajo, kadar število ponovitev ni znano. Na primer
while (condition) ( // body of loop )








