„JavaScript“ kilpos paaiškintos: skirtos kilpai, o kilpoms, daryti ... o kilpoms ir dar daugiau

Loops yra naudojami „JavaScript“, norint atlikti pakartotines užduotis pagal sąlygą. Sąlygos paprastai grįžta truearba jas falseanalizuojant. Ciklas tęsis tol, kol grįš apibrėžta sąlyga false.

Trys dažniausiai pasitaikantys kilpų tipai yra

  • dėl
  • kol
  • daryk

Galite įvesti js for, js whilearba js do whilegauti daugiau informacijos apie bet kurią iš šių. Pažvelkime į juos ir kai kuriuos variantus dabar išsamiau.

už kilpą

Sintaksė

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

„Javascript“ forsakinį sudaro trys posakiai ir sakinys:

apibūdinimas

  • inicializavimas - paleiskite prieš pirmą vykdymą kilpoje. Ši išraiška paprastai naudojama kuriant skaitiklius. Čia sukurti kintamieji nustatomi pagal kilpą. Kai ciklas bus baigtas, jie bus sunaikinti.
  • Sąlyga - Išraiška, patikrinta prieš atliekant kiekvieną iteraciją. Jei praleista, ši išraiška vertinama kaip teisinga. Jei ji vertinama kaip teisinga, vykdomas ciklo sakinys. Jei ji įvertinama kaip klaidinga, kilpa sustoja.
  • galutinė išraiška - išraiška, vykdoma po kiekvienos kartojimo. Paprastai naudojamas skaitliui didinti. Bet jis taip pat gali būti naudojamas mažinant skaitiklį.
  • sakinys - kodas, kuris turi būti kartojamas cikle

bet kurio iš šių trijų posakių ar teiginio galima praleisti. Dėl kilpų dažniausiai naudojamas tam tikras pakartojimų skaičius, norint pakartoti teiginį. Naudokite breaksakinį, kad išeitumėte iš ciklo, kol sąlygos išraiška nebus įvertinta.

Dažni spąstai

Masyvo ribų peržengimas

Daug kartų indeksuojant masyvą, lengva peržengti masyvo ribas (pvz., Pabandykite nurodyti 4 elemento 3 elementų masyvo elementą).

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

Yra du būdai, kaip pataisyti šį kodą. Nustatykite sąlygą i < arr.lengtharbai <= arr.length - 1

Pavyzdžiai

Kartoti sveikaisiais skaičiais nuo 0 iki 8

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

Ištrūkite iš kilpos, kol sąlygos išraiška yra klaidinga

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

už ... kilpa

for...inPatvirtinimas kartojasi per išvardijamosios objekto ypatybes, savavališkai tvarka. Kiekvienai atskirai nuosavybei galima vykdyti teiginius.

for (variable in object) { ... }

Reikalingas / OptionalParameterDescriptionRequiredVariable Kiekvienos iteracijos kintamajam priskiriamas skirtingas ypatybės pavadinimas. OptionalObjectObject, kurio išvardytos savybės kartojamos.

Pavyzdžiai

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

už ... kilpą

for...ofPareiškimas sukuria kontūro Iteracja per iterable objektų (įskaitant masyvas, žemėlapis, rinkinys, argumentai objektas ir tt), remdamasis pasirinktinį iteracijos kablys su ataskaitose turi būti įvykdytas dėl kiekvieno atskiro turto vertės.

 for (variable of object) { statement }

Kiekvienoje iteracijoje kintamam.objectObject, kurio suskaičiuojamos savybės kartojamos, priskiriama skirtingos ypatybės vertė.

Pavyzdžiai

Masyvas

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

Žemėlapis

 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

Nustatyti

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

Argumentų objektas

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

o kilpa

„Loop“ prasideda įvertinus būklę. Jei sąlyga teisinga, sakinys (-iai) vykdomas (-i). Jei sąlyga neteisinga, teiginys (-iai) neįvykdomas (-i). Po to, kol baigsis kilpa.

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“ užtikrina, kad kodas būtų vykdomas bent kartą, o po vykdymo, jei sąlyga viduje while()yra teisinga , jis tęsia ciklą, kitaip jis sustoja.

Sprendimas:

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