JavaScript mens og gør ... mens Loop (med eksempler)

I denne vejledning lærer du om while loop og do … while loop ved hjælp af eksempler.

Ved programmering bruges sløjfer til at gentage en blok kode. Hvis du f.eks. Vil vise en besked 100 gange, kan du bruge en loop. Det er bare et simpelt eksempel; du kan opnå meget mere med sløjfer.

I den foregående vejledning lærte du om JavaScript til loop. Her skal du lære om whileog do… whilesløjfer.

JavaScript mens loop

Sløjfens syntaks whileer:

 while (condition) ( // body of loop )

Her,

  1. En whilesløjfe evaluerer tilstanden inden for parentesen ().
  2. Hvis betingelsen evalueres til true, whileudføres koden inde i sløjfen.
  3. Den betingelse igen evalueret.
  4. Denne proces fortsætter, indtil betingelsen er false.
  5. Når tilstanden evalueres til false, stopper løkken.

Hvis du vil lære mere om betingelserne , skal du besøge JavaScript-sammenligning og logiske operatører.

Flowchart af mens Loop

Flowchart of JavaScript while loop

Eksempel 1: Vis numre fra 1 til 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ådan fungerer dette program.

Iteration Variabel Betingelse: i <= n Handling
1. i = 1
n = 5
true 1 er trykt. jeg øges til 2 .
2. plads i = 2
n = 5
true 2 er trykt. jeg øges til 3 .
3. i = 3
n = 5
true 3 er trykt. jeg øges til 4 .
4. plads i = 4
n = 5
true 4 er trykt. jeg øges til 5 .
5. plads i = 5
n = 5
true 5 er trykt. jeg øges til 6 .
6. i = 6
n = 5
false Sløjfen er afsluttet

Eksempel 2: Kun summen af ​​positive tal

 // 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

 Indtast et nummer: 2 Indtast et nummer: 5 Indtast et nummer: 7 Indtast et nummer: 0 Indtast et nummer: -3 Summen er 14.

I ovenstående program bliver brugeren bedt om at indtaste et nummer.

Her parseInt()bruges, fordi det prompt()tager input fra brugeren som en streng. Og når der tilføjes numeriske strenge, opfører det sig som en streng. For eksempel '2' + '3' = '23'. Så parseInt()konverterer en numerisk streng til nummer.

Den whileløkke fortsætter, indtil brugeren indtaster et negativt tal. Under hver iteration føjes det antal, der er indtastet af brugeren, til sumvariablen.

Når brugeren indtaster et negativt tal, afsluttes sløjfen. Endelig vises den samlede sum.

JavaScript gør … mens Loop

Syntaksen for do… whileloop er:

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

Her,

  1. Sløjfens krop udføres først. Derefter vurderes tilstanden .
  2. Hvis tilstanden evalueres til true, doudføres sløjfens krop inde i udsagnet igen.
  3. Den tilstand vurderes igen.
  4. Hvis tilstanden evalueres til true, doudføres sløjfens krop inde i udsagnet igen.
  5. Denne proces fortsætter, indtil tilstanden evalueres til false. Så stopper løkken.

Bemærk : do… whileloop svarer til whileloop. Den eneste forskel er, at i do… whileloop udføres kroppen af ​​loop mindst én gang.

Flowchart of do … while Loop

Flowchart of JavaScript do… while loop

Lad os se, hvordan do… whilesløjfen fungerer .

Eksempel 3: Vis numre fra 1 til 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ådan fungerer dette program.

Iteration Variabel Betingelse: i <= n Handling
i = 1
n = 5
ikke markeret 1 er trykt. jeg øges til 2 .
1. i = 2
n = 5
true 2 er trykt. jeg øges til 3 .
2. plads i = 3
n = 5
true 3 er trykt. jeg øges til 4 .
3. i = 4
n = 5
true 4 er trykt. jeg øges til 5 .
4. plads i = 5
n = 5
true 6 er trykt. jeg øges til 6 .
5. plads i = 6
n = 5
false Sløjfen er afsluttet

Eksempel 4: Summen af ​​positive tal

 // 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).`);

Udgang 1

 Indtast et nummer: 2 Indtast et nummer: 4 Indtast et nummer: -500 Summen er 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 )

Og whileog do… whilesløjfer bruges normalt, når antallet af gentagelser er ukendt. For eksempel,

 while (condition) ( // body of loop )

Interessante artikler...