Objašnjene JavaScript petlje: For Loop, While Loop, Do ... while Loop i Više

Petlje se u JavaScript koriste za izvođenje ponovljenih zadataka na temelju stanja. Uvjeti se obično vraćaju trueili falsekada se analiziraju. Petlja će se nastaviti izvoditi sve dok se definirani uvjet ne vrati false.

Tri najčešće vrste petlji su

  • za
  • dok
  • učiniti dok

Možete upisati js for, js whileili js do whileda bi dobili više informacija o bilo kojem od njih. Pogledajmo ih sada i neke varijacije, detaljnije.

za petlju

Sintaksa

for ([initialization]); [condition]; [final-expression]) { // statement }

Javascript forizjava sastoji se od tri izraza i izjave:

Opis

  • inicijalizacija - pokrenite prije prvog izvršavanja na petlji. Ovaj se izraz obično koristi za stvaranje brojača. Ovdje stvorene varijable prikazuju se u petlji. Nakon što petlja završi s izvršenjem, oni se uništavaju.
  • uvjet - Izraz koji se provjerava prije izvođenja svake iteracije. Ako je izostavljen, ovaj izraz ocjenjuje istinitim. Ako procijeni na true, izvršava se naredba petlje. Ako procijeni na false, petlja se zaustavlja.
  • final-expression - Izraz koji se pokreće nakon svake iteracije. Obično se koristi za povećanje brojača. Ali može se koristiti i za smanjenje brojača.
  • izjava - kôd koji se ponavlja u petlji

bilo koji od ova tri izraza ili izjava može se izostaviti. Jer se petlje obično koriste za brojanje određenog broja ponavljanja za ponavljanje izraza. Koristite breaknaredbu za izlaz iz petlje prije nego što izraz uvjeta procijeni na false.

Uobičajene zamke

Prekoračenje granica niza

Kada se više puta indeksira niz, lako je prekoračiti granice polja (npr. Pokušati uputiti 4. element niza od 3 elementa).

 // This will cause an error. // The bounds of the array will be exceeded. var arr = [ 1, 2, 3 ]; for (var i = 0; i <= arr.length; i++) { console.log(arr[i]); } output: 1 2 3 undefined

Postoje dva načina za popravak ovog koda. Postavite uvjet na i < arr.lengthilii <= arr.length - 1

Primjeri

Iterirajte kroz cijele brojeve od 0-8

for (var i = 0; i < 9; i++) { console.log(i); } output: 0 1 2 3 4 5 6 7 8

Izbijanje iz petlje prije nego što izraz uvjeta bude lažan

for (var elephant = 1; elephant < 10; elephant+=2) { if (elephant === 7) { break; } console.info('elephant is ' + elephant); } output: elephant is 1 elephant is 3 elephant is 5

za ... u petlji

for...inIzjava iterira preko enumerable svojstva nekog objekta, u proizvoljnom redoslijedu. Za svako zasebno svojstvo mogu se izvršiti iskazi.

for (variable in object) { ... }

Required / OptionalParameterDescriptionRequiredVariableNa svaku je iteraciju varijabli dodijeljeno različito ime svojstva.OptionalObjectObject čija su nabrojiva svojstva ponavljana.

Primjeri

// Initialize object. a = { "a": "Athens", "b": "Belgrade", "c": "Cairo" } // Iterate over the properties. var s = "" for (var key in a) { s += key + ": " + a[key]; s += "

"; } document.write (s); // Output: // a: Athens // b: Belgrade // c: Cairo // Initialize the array. var arr = new Array("zero", "one", "two"); // Add a few expando properties to the array. arr["orange"] = "fruit"; arr["carrot"] = "vegetable"; // Iterate over the properties and elements. var s = ""; for (var key in arr) { s += key + ": " + arr[key]; s += "

"; } document.write (s); // Output: // 0: zero // 1: one // 2: two // orange: fruit // carrot: vegetable // Efficient way of getting an object's keys using an expression within the for-in loop's conditions var myObj = {a: 1, b: 2, c:3}, myKeys = [], i=0; for (myKeys[i++] in myObj); document.write(myKeys); //Output: // a // b // c

za ... petlje

for...ofIzjava stvara Ponavljanje petlje nad iterable objekata (uključujući Array, Map, Set, Argumenti objekt i tako dalje), pozivajući se prilagođeni iteracija kuka s Naredbe koje se izvršavaju u vrijednosti svakog različita imovine.

 for (variable of object) { statement }

DescriptionvariableOn svakoj iteraciji vrijednost različitog svojstva dodjeljuje se variable.objectObject čija su nabrojiva svojstva ponavljana.

Primjeri

Niz

 let arr = [ "fred", "tom", "bob" ]; for (let i of arr) { console.log(i); } // Output: // fred // tom // bob

Karta

 var m = new Map(); m.set(1, "black"); m.set(2, "red"); for (var n of m) { console.log(n); } // Output: // 1,black // 2,red

Postavi

 var s = new Set(); s.add(1); s.add("red"); for (var n of s) { console.log(n); } // Output: // 1 // red

Argumenti prigovaraju

 // your browser must support for..of loop // and let-scoped variables in for loops function displayArgumentsObject() { for (let n of arguments) { console.log(n); } } displayArgumentsObject(1, 'red'); // Output: // 1 // red

dok petlja

Petlja while započinje procjenom stanja. Ako je uvjet istinit, izvodi se / izvršavaju. Ako je uvjet netačan, iskazi se izvršavaju / ne izvršavaju. Nakon toga, dok se petlja završava.

Here is the syntax for while loop:

Syntax:

while (condition) { statement(s); }

statement(s): A statement that is executed as long as the condition evaluates to true.

condition: Here, condition is a Boolean expression which is evaluated before each pass through the loop. If this condition evaluates to true, statement(s) is/are executed. When condition evaluates to false, execution continues with the statement after the while loop.

Example:

 var i = 1; while (i < 10) { console.log(i); i++; // i=i+1 same thing } Output: 1 2 3 4 5 6 7 8 9

How to Iterate with JavaScript While Loops

While loops will run as long as the condition inside the ( ) is true. Example:

while(condition){ code... }

Hint 1:

Use a iterator variable such as i in your condition

var i = 0; while(i <= 4){ }

Spoiler Alert Solution Ahead!

Solution:

// Setup var myArray = []; // Only change code below this line. var i = 0; while (i <= 4){ myArray.push(i); i++; }

Do...while loop

The do...while loop is closely related to while loop. In the do while loop, the condition is checked at the end of the loop.

Here is the syntax for do...while loop:

Syntax:

 do { *Statement(s);* } while (*condition*);

statement(s): A statement that is executed at least once before the condition or Boolean expression is evaluated and is re-executed each time the condition evaluates to true.

condition: Here, a condition is a Boolean expression. If Boolean expression evaluates to true, the statement is executed again. When Boolean expression evaluates to false, the loops ends.

Example:

var i = 0; do { i = i + 1; console.log(i); } while (i < 5); Output: 1 2 3 4 5

How to Iterate with JavaScript Do…While Loops

  • Do...While loops makes sure that the code is executed at least once, and after the execution, if the condition inside the while() is true, it continues with the loop, otherwise it stop.

Solution:

var myArray = []; var i = 10; do { myArray.push(i); i++; } while(i <= 10);