Să presupunem că vi sa dat sarcina de a scrie un program care afișează numerele 1-100. O modalitate prin care ați putea realiza acest lucru este să scrieți 100 de instrucțiuni console.log. Dar sunt sigur că nu ați fi fost pentru că v-ați fi săturat de linia a 9-a sau a zecea.
Singura parte care se schimbă în fiecare instrucțiune este numărul, deci ar trebui să existe o modalitate de a scrie o singură instrucțiune. Și există cu bucle. Buclele permit să efectuăm în mod repetat un set de pași într-un bloc de coduri.
În timp ce buclele execută în mod repetat un set de instrucțiuni în timp ce o anumită condiție este adevărată. Când condiția este falsă, programul va ieși din bucla. Acest tip de bucla testeaza conditia inainte de a efectua o iteratie. O iterație este o execuție a corpului buclei. Următorul exemplu nu va afișa nimic deoarece condiția noastră este falsă.
lăsați foame = false; în timp ce (foame) console.log ("mânca");
Aceasta este forma generală a unui buclă:
în timp ce (condiție) declarație; afirmație; etc
Un lucru de a fi atent la utilizarea în timp ce buclele creează bucle care nu se termină niciodată. Acest lucru se întâmplă deoarece condiția nu devine falsă. Dacă vi se întâmplă, programul dvs. se va prăbuși. Exemplu:
să fie foame = adevărat; în timp ce (foame) console.log ("mânca");
De câte ori va fi executat corpul acestei bucla:
i = 0; in timp ce eu < 10) console.log("Hello, World"); i += 1;
O buclă "do-while" va executa mai întâi corpul de declarații și apoi va verifica starea. Acest tip de buclă este util când știți că doriți să executați codul cel puțin o dată. Următorul exemplu va afișa o singură dată "mănâncă", chiar dacă condiția este falsă.
lăsați foame = false; nu console.log ("mănâncă"); în timp ce (foame);
Aceasta este forma generală pentru o acțiune în timp:
declarație; afirmație; etc în timp ce (condiție);
Scrieți o buclă care va afișa numerele 1-10.
O for-loop va repeta executarea unui bloc de cod pentru un anumit număr de ori. Următorul exemplu afișează numerele 1-10:
pentru (let i = 1; i <= 10; i++) console.log(i);
Aceasta este forma generală a unui buclă:
pentru (inițial; condiție; pas) declarație; afirmație; etc
Iniţială este o expresie care stabilește valoarea variabilei noastre. Condiție este o expresie care trebuie să fie adevărată pentru executarea declarațiilor. Și Etapa este o expresie care mărește valoarea variabilei noastre.
Un model de programare este de a utiliza o buclă pentru a actualiza valoarea unei variabile cu ea însăși și o nouă valoare. Acest exemplu cuprinde numerele 1-10:
x = 0; pentru (let i = 1; i <= 10; i++) x += i; console.log(x) //55
+=
este un operator de atribuire care adaugă o valoare înapoi la o variabilă. Aceasta este o listă a tuturor operatorilor de atribuire:
Operator | Exemplu | Echivalent |
---|---|---|
+= | x + = 2 | x = x + 2 |
-= | x - = 2 | x = x - 2 |
* = | x * = 2 | x = x * 2 |
/ = | x / = 2 | x = x / 2 |
% = | x% = 2 | x = x% 2 |
Scrie o buclă pentru care calculează factorialul unui număr. Factorul unui număr n este produsul tuturor numerelor întregi de la 1 la n. De exemplu, 4! (4 factoriali) este 1 x 2 x 3 x 4 care este egal cu 24.
O matrice este un obiect care deține o listă de elemente, numite elemente, care sunt accesate de indexul lor. Indicele este poziția elementului din matrice. Primul element este la indexul 0. Următoarele sunt câteva operații de array comune.
Creați o matrice goală:
permiteți arr = [];
Inițializați o matrice cu valori:
arr = [1, 2, "Bună ziua", "Lumea"];
Obțineți un element dintr-o matrice:
arr = [1, 2, "Bună ziua", "Lumea"]; arr [0] // 1 arr [2] // "Bună ziua"
Actualizați un element într-o matrice:
arr = [1, 2, "Bună ziua", "Lumea"]; arr [2] = 3; // [1, 2, 3, "Lumea"]
Buclă pe o matrice:
arr = [1, 2, "Bună ziua", "Lumea"]; pentru (let i = 0; i < arr.length; i++) console.log(arr[i]);
O matrice bidimensională este o matrice a cărei elemente sunt matrice. Exemplu:
lași arr = [[1, 2], ["Bună ziua", "Lumea"]]; console.log (arr [0] [1]); // 2
Acesta este modul în care veți buclei peste matrice și afișați fiecare element:
pentru (let i = 0; i < arr.length; i++) for (let j = 0; j < arr[i].length; j++) console.log(arr[ i ][ j ]);
Ce element se afișează atunci când i = 1 și j = 0 în bucla de mai sus pentru buclă?
Acest tip de buclă ne permite să bifăm cheile dintr-un obiect. Un obiect este o structură de date care are chei mapate la valori. Iată câteva operații comune care pot fi efectuate pe un obiect.
Creați un obiect gol:
permiteți obj = ;
Inițializați un obiect cu valori:
let obj = foo: "Bună ziua", bar: "Lumea";
Obțineți o proprietate dintr-un obiect:
let obj = foo: "Bună ziua", bar: "Lumea"; obj.foo; // "Bună ziua" obj ["foo"]; //"Salut"
Actualizați o proprietate într-un obiect:
let obj = foo: "Bună ziua", bar: "Lumea"; obj.foo = "hi" vol ["foo"] = "hi"
Bucle peste cheile unui obiect:
pentru (permiteți cheia în vol) console.log (cheie);
Ce este mai sus pentru afișarea de buclă dată obj = foo: "Bună ziua", bar: "Lumea"?
Acest tip de buclă ne permite să buclem peste valorile obiectelor iterabile. Exemple de obiecte iterabile sunt tablourile și șirurile.
Buclă pe o matrice:
arr = ["foo", "bar", "baz"]; pentru (let elem de arr) console.log (elem); // foo bar baz
Buclă pe un șir:
lasa str = "Bună ziua"; pentru (permiteți char din str) console.log (char); //'Salut'
Folosind oricare dintre bucle, scrieți un program care va afișa acest model de scară:
# # # # #
Buclele ne permit să reducem duplicarea în codul nostru. În timp ce buclele ne permit să repetăm o acțiune până când o condiție este falsă. O buclă "do-while" se va executa cel puțin o dată. Pentru buclele, să repetăm o acțiune până când vom ajunge la sfârșitul unui număr. Buclele for-in sunt proiectate astfel încât să putem accesa cheile dintr-un obiect. Buclele for-of sunt proiectate astfel încât să obținem valoarea unui obiect iterabil.
Apoi, în partea a 4-a, vom învăța despre funcții.