I denna handledning lär du dig om medan loop och do… while loop med hjälp av exempel.
Vid programmering används slingor för att upprepa ett kodblock. Om du till exempel vill visa ett meddelande 100 gånger kan du använda en loop. Det är bara ett enkelt exempel; du kan uppnå mycket mer med öglor.
I föregående handledning lärde du dig JavaScript för loop. Här ska du lära dig mer om while
och do… while
loopar.
JavaScript medan Loop
Slingans syntax while
är:
while (condition) ( // body of loop )
Här,
- En
while
slinga utvärderar tillståndet inom parentesen()
. - Om villkoret utvärderas till körs
true
koden inutiwhile
slingan. - Det villkoret utvärderas igen.
- Denna process fortsätter tills villkoret är
false
. - När tillståndet utvärderas till
false
, slutar slingan.
För att lära dig mer om villkoren , besök JavaScript-jämförelse och logiska operatörer.
Flödesschema för medan Loop

Exempel 1: Visa nummer från 1 till 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; )
Produktion
1 2 3 4 5
Så här fungerar det här programmet.
Iteration | Variabel | Villkor: i <= n | Handling |
---|---|---|---|
1: a | i = 1 n = 5 | true | 1 är tryckt. i ökas till 2 . |
2: a | i = 2 n = 5 | true | 2 är tryckt. i ökas till 3 . |
3: e | i = 3 n = 5 | true | 3 är tryckt. i ökas till 4 . |
4: e | i = 4 n = 5 | true | 4 är tryckt. i ökas till 5 . |
5: e | i = 5 n = 5 | true | 5 är tryckt. i ökas till 6 . |
6: e | i = 6 n = 5 | false | Slingan avslutas |
Exempel 2: Endast summan av positiva siffror
// 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).`);
Produktion
Ange ett nummer: 2 Ange ett nummer: 5 Ange ett nummer: 7 Ange ett nummer: 0 Ange ett nummer: -3 Summan är 14.
I ovanstående program uppmanas användaren att ange ett nummer.
Här parseInt()
används för att prompt()
ta inmatning från användaren som en sträng. Och när numeriska strängar läggs till fungerar den som en sträng. Till exempel '2' + '3' = '23'
. Så parseInt()
konverterar en numerisk sträng till nummer.
Den while
fortsätter slingan tills användaren anger ett negativt tal. Under varje iteration läggs numret in av användaren till sum
variabeln.
När användaren anger ett negativt tal avslutas slingan. Slutligen visas den totala summan.
JavaScript gör … medan Loop
Syntaxen för do… while
loop är:
do ( // body of loop ) while(condition)
Här,
- Slingans kropp körs först. Då utvärderas tillståndet .
- Om villkoret utvärderas till
true
,do
körs kroppen av slingan inuti uttalandet igen. - Det villkoret utvärderas igen.
- Om villkoret utvärderas till
true
,do
körs kroppen av slingan inuti uttalandet igen. - Denna process fortsätter tills tillståndet utvärderas till
false
. Sedan slutar slingan.
Obs : do… while
loop liknar while
slingan. Den enda skillnaden är att i do… while
loop utförs loopens kropp minst en gång.
Flödesschema över do … while Loop

Låt oss se hur do… while
slingan fungerar .
Exempel 3: Visa nummer från 1 till 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);
Produktion
1 2 3 4 5
Så här fungerar det här programmet.
Iteration | Variabel | Villkor: i <= n | Handling |
---|---|---|---|
i = 1 n = 5 | inte kontrollerad | 1 är tryckt. i ökas till 2 . | |
1: a | i = 2 n = 5 | true | 2 är tryckt. i ökas till 3 . |
2: a | i = 3 n = 5 | true | 3 är tryckt. i ökas till 4 . |
3: e | i = 4 n = 5 | true | 4 är tryckt. i ökas till 5 . |
4: e | i = 5 n = 5 | true | 6 är tryckt. i ökas till 6 . |
5: e | i = 6 n = 5 | false | Slingan avslutas |
Exempel 4: Summan av positiva siffror
// 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).`);
Utgång 1
Ange ett nummer: 2 Ange ett nummer: 4 Ange ett nummer: -500 Summan är 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 )
Och while
och do… while
slingor används vanligtvis när antalet iterationer är okända. Till exempel,
while (condition) ( // body of loop )