JavaScript medan och gör ... medan Loop (med exempel)

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 whileoch do… whileloopar.

JavaScript medan Loop

Slingans syntax whileär:

 while (condition) ( // body of loop )

Här,

  1. En whileslinga utvärderar tillståndet inom parentesen ().
  2. Om villkoret utvärderas till körs truekoden inuti whileslingan.
  3. Det villkoret utvärderas igen.
  4. Denna process fortsätter tills villkoret är false.
  5. 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

Flödesschema för JavaScript under 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 whilefortsätter slingan tills användaren anger ett negativt tal. Under varje iteration läggs numret in av användaren till sumvariabeln.

När användaren anger ett negativt tal avslutas slingan. Slutligen visas den totala summan.

JavaScript gör … medan Loop

Syntaxen för do… whileloop är:

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

Här,

  1. Slingans kropp körs först. Då utvärderas tillståndet .
  2. Om villkoret utvärderas till true, dokörs kroppen av slingan inuti uttalandet igen.
  3. Det villkoret utvärderas igen.
  4. Om villkoret utvärderas till true, dokörs kroppen av slingan inuti uttalandet igen.
  5. Denna process fortsätter tills tillståndet utvärderas till false. Sedan slutar slingan.

Obs : do… whileloop liknar whileslingan. Den enda skillnaden är att i do… whileloop utförs loopens kropp minst en gång.

Flödesschema över do … while Loop

Flödesschema för JavaScript gör … medan loop

Låt oss se hur do… whileslingan 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 whileoch do… whileslingor används vanligtvis när antalet iterationer är okända. Till exempel,

 while (condition) ( // body of loop )

Intressanta artiklar...