Lecții din javascript Meșterit - Lecția 7
7. Declarații Buclă: în timp ce, fac. în timp ce
- converti o progresie aritmetică;
- tabel de multiplicare: pentru în timp ce în interior;
- tabelul de multiplicare în „puf» timp;
- do declarație. în timp ce
în timp ce declarația
Chiar dacă n-ai programat, cu siguranță a lucrat în diferite programe la fel ca utilizator. Și știi că aceleași rezultate pot fi atinse, uneori, în moduri diferite.
Aceeași programare. Din moment ce se poate face folosind o buclă în timp ce toate la fel ca și cu ajutorul unui pentru buclă. Ceva mai ușor de făcut într-un singur ciclu, ceva - altceva. Ceva mai rapid într-unul, ceva mai sigur în cealaltă. Cineva obișnuiți cu unul, cineva - la altul.
Pentru a face mai clar, vom folosi același exemplu, dar în noul „aranjament“.
În timp ce înseamnă „în timp ce“ sau „atâta timp cât“. Deși există o condiție și atâta timp cât există, codul se execută.
Sintaxa este dureros familiar:
Încercați să „joace“ în acest ciclu primul nostru exemplu: suma numerelor de la 1 la 10. Iată cele două coduri:
Pasul transferat aici până la capăt. Aceasta este o condiție ne cere, atribuiți-l acțiunea și apoi specificați pas să-l execute.
versiune extinsă, cu retragerea tuturor valorilor și în cazul în care blocul de separatoare, încercați să vă convertiți. Și apoi uita-te la răspunsul.
Și acum un chin mic cu tabelul de multiplicare.
Aici am fost imbricate bucle. Bucla în timp ce este de asemenea posibil de a investi, dar natknomsya o opoziție asociată cu secvența de acțiuni și a datelor stocate într-o variabilă, iar programul va trebui să trișeze un pic.
O primă versiune încercați combinată: bucla exterioară va transforma un timp. și concediul interior pentru.
Aici este bucla noastră exterioară, scoate
Acum, copiați în loc bucla imbricate alocat pentru:
Acum vom înțelege problema imbricate în timp ce buclele. Acum voi da script-ul greșit și să încerce să înțeleagă de ce este greșit și cum să-l repare. Acesta va fi un antrenament bun pentru creier.
Copiați și a alerga. Vei vedea primul rând completat și niște dungi albe dedesubt. Această bandă - rezultatul generat gol
Întrebare: Care este variabilă j după primul pasaj al marelui ciclu?
Răspuns: este egal cu 10.
Întrebare: ce ar trebui să fie egală cu începutul trecerea celui de al doilea val?
A: 2, așa cum este specificat.
Întrebare: cum să-l resetați.
Este operatorul de pauză. pe care am folosit în comutatorul. Aici el a folosit, de asemenea, (după ce discutăm în mod specific despre asta). Dar trebuie să spun, necazul nostru nu va ajuta. Cu acesta, puteți modifica numai cicluri (de exemplu, doar o singură coloană va fi afișată).
Avertizare. Noi credem. Noi îngropa. Avem nevoie de o variabilă care ar conține egalitate de puncte a continuat. Și avem nevoie de o variabilă care ar fi trecut în mod repetat, de la acest ciclu de doi. Ceea ce ne împiedică să creeze o altă variabilă, să zicem, k. echivala-l la j, și a alerga într-o buclă? Ei bine, nimic, cu excepția faptului că capul de frână.
A se vedea, l (k) va avea loc bucla increment la 10, iar în următorul viraj din nou asimilată aceluiași j și din nou, va avea loc în același ciclu:
Concluzie: mai bine, utilizați pentru. Dar pentru a înțelege acest lucru, ar trebui să încercați și în timp.
Unul dintre cititorii mei, Igor Chrétien a scris script-ul ruleaza fara variabile suplimentare, și l-au adus în cartea de oaspeți:
do declarație. în timp ce
Această afirmație este foarte similar cu cel precedent. Diferența, la figurat vorbind, este că, dacă în timp ce la început cred, și apoi face, apoi face. în timp ce la început să facă acest lucru, și apoi cred.