Skip to content

Commit ad10bf3

Browse files
committed
adjusted
1 parent f114998 commit ad10bf3

4 files changed

Lines changed: 60 additions & 60 deletions

File tree

1-js/02-first-steps/15-function-basics/1-if-else-required/task.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ importance: 4
66

77
Următoarea funcție returnează `true` dacă parametrul `age` este mai mare decât `18`.
88

9-
În caz contrar, solicită o confirmare și returnează rezultatul:
9+
În caz contrar aceasta cere o confirmare și îi returnează rezultatul:
1010

1111
```js
1212
function checkAge(age) {

1-js/02-first-steps/15-function-basics/2-rewrite-function-question-or/task.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ importance: 4
66

77
Următoarea funcție returnează `true` dacă parametrul `age` este mai mare decât `18`.
88

9-
În caz contrar, solicită o confirmare și returnează rezultatul.
9+
În caz contrar aceasta cere o confirmare și îi returnează rezultatul.
1010

1111
```js
1212
function checkAge(age) {

1-js/02-first-steps/15-function-basics/4-pow/solution.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ let x = prompt("x?", '');
1414
let n = prompt("n?", '');
1515

1616
if (n < 1) {
17-
alert(`Puterea ${n} nu este acceptată, utilizați un număr întreg pozitiv`);
17+
alert(`Puterea ${n} nu este susținută, utilizați un număr întreg pozitiv`);
1818
} else {
1919
alert( pow(x, n) );
2020
}

1-js/02-first-steps/15-function-basics/article.md

Lines changed: 57 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# Funcții
22

3-
Destul de des avem nevoie să realizăm o acțiune similară în multe locuri ale secvenței de instrucțiuni.
3+
Destul de des avem nevoie să realizăm o acțiune similară în multe locuri ale script-ului.
44

55
De exemplu, avem nevoie să arătăm un mesaj frumos când un vizitator se conectează, se deconectează și poate în altă parte.
66

77
Funcțiile sunt principalele "blocuri de construcție" ale programului. Ele permit apelarea codului de mai multe ori fără repetare.
88

9-
Am văzut deja exemple de funcții încorporate, precum `alert(message)`, `prompt(message, default)` și `confirm(question)`. Dar putem crea și funcții proprii.
9+
Am văzut deja exemple de funcții încorporate, precum `alert(message)`, `prompt(message, default)` și `confirm(question)`. Dar putem crea și funcții proprii de asemenea.
1010

11-
## Declararea Funcției
11+
## Funcție Declarată
1212

13-
Pentru a crea o funcție putem folosi *declararea funcției*.
13+
Pentru a crea o funcție putem folosi o *funcție declarată*.
1414

1515
Arata cam așa:
1616

@@ -58,15 +58,15 @@ De exemplu:
5858
```js run
5959
function showMessage() {
6060
*!*
61-
let message = "Bună, sunt JavaScript!"; // local variable
61+
let message = "Bună, sunt JavaScript!"; // variabilă locală
6262
*/!*
6363

6464
alert( message );
6565
}
6666

67-
showMessage(); // Hello, I'm JavaScript!
67+
showMessage(); // Bună, sunt JavaScript!
6868

69-
alert( message ); // <-- Error! The variable is local to the function
69+
alert( message ); // <-- Eroare! Variabila este locală funcției
7070
```
7171

7272
## Variabile exterioare
@@ -81,7 +81,7 @@ function showMessage() {
8181
alert(message);
8282
}
8383

84-
showMessage(); // Hello, John
84+
showMessage(); // Bună, John
8585
```
8686

8787
Funcția are acces complet la variabila exterioară. Il poate modifica si ea.
@@ -92,43 +92,43 @@ De exemplu:
9292
let *!*userName*/!* = 'John';
9393

9494
function showMessage() {
95-
*!*userName*/!* = "Bob"; // (1) changed the outer variable
95+
*!*userName*/!* = "Bob"; // (1) a schimbat variabila exterioară
9696

9797
let message = 'Bună, ' + *!*userName*/!*;
9898
alert(message);
9999
}
100100

101-
alert( userName ); // *!*John*/!* before the function call
101+
alert( userName ); // *!*John*/!* înainte de apelul funcției
102102

103103
showMessage();
104104

105-
alert( userName ); // *!*Bob*/!*, the value was modified by the function
105+
alert( userName ); // *!*Bob*/!*, valoarea a fost modificată de funcție
106106
```
107107

108108
Variabila exterioară este utilizată numai dacă nu există una locală.
109109

110-
Dacă o variabilă cu același nume este declarată în interiorul funcției, atunci aceasta *pune în umbră* pe cea exterioară. De exemplu, în codul de mai jos, funcția folosește localul `userName`. Cel exterior este ignorat:
110+
Dacă o variabilă cu același nume este declarată în interiorul funcției atunci aceasta o *pune în umbră* pe cea exterioară. De exemplu, în codul de mai jos funcția folosește `userName`-ul local. Cel exterior este ignorat:
111111

112112
```js run
113113
let userName = 'John';
114114

115115
function showMessage() {
116116
*!*
117-
let userName = "Bob"; // declare a local variable
117+
let userName = "Bob"; // declară o variabilă locală
118118
*/!*
119119

120120
let message = 'Bună, ' + userName; // *!*Bob*/!*
121121
alert(message);
122122
}
123123

124-
// the function will create and use its own userName
124+
// funcția va crea și va folosi propriul userName
125125
showMessage();
126126

127-
alert( userName ); // *!*John*/!*, unchanged, the function did not access the outer variable
127+
alert( userName ); // *!*John*/!*, neschimbat, funcția nu a accesat variabila exterioară
128128
```
129129

130130
```smart header="Variabile globale"
131-
Variabile declarate în afara oricărei funcții, precum cel exterior `userName` în codul de mai sus, se numesc *globale*.
131+
Variabile declarate în afara oricărei funcții, precum acel `userName` exterior în codul de mai sus, se numesc *globale*.
132132
133133
Variabilele globale sunt vizibile din orice funcție (dacă nu sunt umbrite de cele locale).
134134
@@ -142,42 +142,42 @@ Putem transmite date arbitrare funcțiilor folosind parametri.
142142
În exemplul de mai jos, funcția are doi parametri: `from` și `text`.
143143

144144
```js run
145-
function showMessage(*!*from, text*/!*) { // parameters: from, text
145+
function showMessage(*!*from, text*/!*) { // parametrii: from, text
146146
alert(from + ': ' + text);
147147
}
148148

149-
*!*showMessage('Ann', 'Bună!');*/!* // Ann: Hello! (*)
150-
*!*showMessage('Ann', "Ce faci?");*/!* // Ann: What's up? (**)
149+
*!*showMessage('Ann', 'Bună!');*/!* // Ann: Bună! (*)
150+
*!*showMessage('Ann', "Ce faci?");*/!* // Ann: Ce faci? (**)
151151
```
152152
153-
Când funcția este apelată în liniile `(*)` și `(**)`, valorile date sunt copiate în variabilele locale `from` și `text`. Atunci funcția le folosește.
153+
Când funcția este apelată în liniile `(*)` și `(**)`, valorile date sunt copiate în variabile locale `from` și `text`. Atunci funcția le folosește.
154154
155155
Iată încă un exemplu: avem o variabilă `from` și este transmis funcției. Vă rugăm să rețineți: functia schimbă `from`, dar schimbarea nu se vede afară, deoarece o funcție primește întotdeauna o copie a valorii:
156156
157157
```js run
158158
function showMessage(from, text) {
159159

160160
*!*
161-
from = '*' + from + '*'; // make "from" look nicer
161+
from = '*' + from + '*'; // face ca "from" să pară mai frumos
162162
*/!*
163163

164164
alert( from + ': ' + text );
165165
}
166166

167167
let from = "Ann";
168168

169-
showMessage(from, "Bună"); // *Ann*: Hello
169+
showMessage(from, "Bună"); // *Ann*: Bună
170170

171-
// the value of "from" is the same, the function modified a local copy
171+
// valoarea lui "from" este aceeași, funcția a modificat o copie locală
172172
alert( from ); // Ann
173173
```
174174
175175
Când o valoare este transmisă ca parametru de funcție, se mai numește *argument*.
176176
177177
Cu alte cuvinte, pentru a clarifica acești termeni:
178178
179-
- Un parametru este variabila listată între paranteze în declarația funcției (este un termen de declarare)
180-
- Un argument este valoarea care este transmisă funcției atunci când este apelată (este un termen de apelare).
179+
- Un parametru este variabila listată între paranteze în funcția declarată (este un termen din timpul declarației)
180+
-Un argument este valoarea care este transmisă funcției atunci când este apelată (este un termen din timpul apelării).
181181
182182
Declarăm funcții care listează parametrii lor, apoi le numim argumente de trecere.
183183
@@ -203,17 +203,17 @@ function showMessage(from, *!*text = "nu este dat niciun text"*/!*) {
203203
alert( from + ": " + text );
204204
}
205205

206-
showMessage("Ann"); // Ann: no text given
206+
showMessage("Ann"); // Ann: nu este dat niciun text
207207
```
208208
209-
Acum, dacă parametrul`text` nu este trecut, va primi valoarea `"nu este dat niciun text"`
209+
Acum dacă parametrul`text` nu este trecut, va primi valoarea `"nu este dat niciun text"
210210

211211
Aici `"nu este dat niciun text"` este un șir, dar poate fi o expresie mai complexă, care este evaluată și atribuită doar dacă parametrul lipsește. Deci, acest lucru este posibil:
212212

213213
```js run
214214
function showMessage(from, text = anotherFunction()) {
215-
// anotherFunction() only executed if no text given
216-
// its result becomes the value of text
215+
// anotherFunction() executat numai dacă nu este dat text
216+
// rezultatul său devine valoarea textului
217217
}
218218
```
219219

@@ -222,7 +222,7 @@ function showMessage(from, text = anotherFunction()) {
222222
223223
În exemplul de mai sus, `anotherFunction()` nu este apelat deloc, dacă este furnizat parametrul `text`.
224224
225-
Pe de altă parte, este numit independent de fiecare dată când lipsește `text`.
225+
Pe de altă parte, este apelat independent de fiecare dată când lipsește `text`.
226226
```
227227

228228
### Parametri impliciți alternativi
@@ -236,38 +236,38 @@ function showMessage(text) {
236236
// ...
237237
238238
*!*
239-
if (text === undefined) { // if the parameter is missing
239+
if (text === undefined) { // dacă parametrul lipsește
240240
text = 'mesaj gol';
241241
}
242242
*/!*
243243
244244
alert(text);
245245
}
246246
247-
showMessage(); // empty message
247+
showMessage(); // mesaj gol
248248
```
249249

250250
...Sau am putea folosi operatorul `||`:
251251

252252
```js
253253
function showMessage(text) {
254-
// if text is undefined or otherwise falsy, set it to 'empty'
254+
// dacă textul este nedefinit sau fals, setați-l ca „gol”
255255
text = text || 'empty';
256256
...
257257
}
258258
```
259259

260-
Motoarele JavaScript moderne acceptă [nullish coalescing operator](info:nullish-coalescing-operator) `??`, este mai bine atunci când majoritatea valorilor false, cum ar fi `0`, ar trebui considerate „normale”:
260+
Motoarele JavaScript moderne susțin [nullish coalescing operator](info:nullish-coalescing-operator) `??`, este mai bine atunci când majoritatea valorilor false, cum ar fi `0`, ar trebui consideratenormale:
261261

262262
```js run
263263
function showCount(count) {
264-
// if count is undefined or null, show "unknown"
264+
// dacă numărul este nedefinit sau nul, afișază „necunoscut”
265265
alert(count ?? "unknown");
266266
}
267267
268268
showCount(0); // 0
269-
showCount(null); // unknown
270-
showCount(); // unknown
269+
showCount(null); // necunoscut
270+
showCount(); // necunoscut
271271
```
272272

273273
## Returnarea unei valori
@@ -285,7 +285,7 @@ let result = sum(1, 2);
285285
alert( result ); // 3
286286
```
287287

288-
Directiva `return` poate fi în orice loc al funcției. Când execuția ajunge la el, funcția se oprește, iar valoarea este returnată codului de apelare (atribuit lui `result`).
288+
Directiva `return` poate fi în orice loc al funcției. Când execuția ajunge la el, funcția se oprește, iar valoarea este returnată codului de apelare (atribuit lui `result` de mai sus).
289289

290290
Pot exista multe apariții ale lui `return` întro singura funcție. De exemplu:
291291

@@ -311,7 +311,7 @@ if ( checkAge(age) ) {
311311
}
312312
```
313313

314-
Este posibil să utilizați `return` făra o valoare. Acesta face ca funcția să iasă imediat.
314+
Este posibil să utilizați `return` făra o valoare. Acesta face ca funcția să se încheie imediat.
315315

316316
De exemplu:
317317

@@ -330,13 +330,13 @@ function showMovie(age) {
330330

331331
În codul de mai sus, dacă `checkAge(age)` returnează `false`, atunci `showMovie` nu va trece la `alert`.
332332

333-
```smart header=" O funcție cu un 'return' gol sau fara o returnare este 'undefined'"
333+
````smart header=" O funcție cu un 'return' gol sau fara o returnare este 'undefined'"
334334
Dacă o funcție nu returnează o valoare, este la fel ca și când returnează `undefined`:
335335

336336
```js run
337337
function doNothing() { /* empty */ }
338338
339-
alert( doNothing() === undefined ); // true
339+
alert( doNothing() === undefined ); // adevărat
340340
```
341341

342342
Un `return` gol este același cu `return undefined`:
@@ -346,7 +346,7 @@ function doNothing() {
346346
return;
347347
}
348348
349-
alert( doNothing() === undefined ); // true
349+
alert( doNothing() === undefined ); // adevărat
350350
```
351351
````
352352

@@ -364,7 +364,7 @@ return*!*;*/!*
364364
(some + long + expression + or + whatever * f(a) + f(b))
365365
```
366366

367-
Deci, devine efectiv un 'return' gol.
367+
Deci, devine efectiv un `return` gol.
368368

369369
Dacă dorim ca expresia returnată să se înfășoare pe mai multe linii, ar trebui să o începem pe aceeași linie cu`return`. Sau cel puțin puneți parantezele de deschidere acolo, după cum urmează:
370370

@@ -380,7 +380,7 @@ return (
380380

381381
## Denumirea unei funcții [#function-naming]
382382

383-
Funcțiile sunt acțiuni. Deci, numele lor este de obicei un verb. Ar trebui să fie scurt, cât mai precis posibil și să descrie ceea ce face funcția, astfel încât cineva care citește codul să obțină o indicație despre ceea ce face funcția.
383+
Funcțiile sunt acțiuni. Deci numele lor este de obicei un verb. Ar trebui să fie scurt, cât mai precis posibil și să descrie ceea ce face funcția, astfel încât cineva care citește codul să obțină o indicație despre ceea ce face funcția.
384384

385385
Este o practică larg răspândită de a începe o funcție cu un prefix verbal care descrie vag acțiunea. Trebuie să existe un acord în cadrul echipei cu privire la semnificația prefixelor.
386386

@@ -396,11 +396,11 @@ Funcția care începe cu...
396396
Exemple de astfel de nume:
397397

398398
```js no-beautify
399-
showMessage(..) // shows a message
400-
getAge(..) // returns the age (gets it somehow)
401-
calcSum(..) // calculates a sum and returns the result
402-
createForm(..) // creates a form (and usually returns it)
403-
checkPermission(..) // checks a permission, returns true/false
399+
showMessage(..) // arată un mesaj
400+
getAge(..) // returnează vârsta (o primește cumva)
401+
calcSum(..) // calculează o sumă și returnează rezultatul
402+
createForm(..) // creează un Form (și de obicei îl returnează)
403+
checkPermission(..) // verifică o permisiune, returnează true/false
404404
```
405405

406406
Cu prefixele la loc, o privire asupra numelui unei funcții oferă o înțelegere a ce fel de activitate face și ce fel de valoare returnează.
@@ -412,7 +412,7 @@ Două acțiuni independente deservesc de obicei două funcții, chiar dacă de o
412412

413413
Câteva exemple de încălcare a acestei reguli:
414414

415-
- `getAge` -- ar fi rău dacă arată o `alertă` cu vârsta (ar trebui doar să obțină).
415+
- `getAge` -- ar fi rău dacă arată o `alert` cu vârsta (ar trebui doar să obțină).
416416
- `createForm` -- ar fi rău dacă ar modifica documentul, adăugându-i o formă (ar trebui doar să-l creeze și să-l returneze).
417417
- `checkPermission` -- ar fi rău dacă afișează mesajul „acces acordat/refuzat”. (ar trebui să efectueze doar verificarea și să returneze rezultatul).
418418

@@ -433,7 +433,7 @@ Funcțiile ar trebui să fie scurte și să facă un lucru exact. Dacă acel luc
433433

434434
O funcție separată este mai ușor de testat și de depanat -- însăși existența sa este un comentariu grozav!
435435

436-
De exemplu, compara cele două funcții `showPrimes(n)` de mai jos. Fiecare iese [prime numbers](https://en.wikipedia.org/wiki/Prime_number) pâna la`n`.
436+
De exemplu, compară cele două funcții `showPrimes(n)` de mai jos. Fiecare emite [numere prime](https://ro.wikipedia.org/wiki/Num%C4%83r_prim) pâna la`n`.
437437

438438
Prima variantă folosește o etichetă:
439439

@@ -450,7 +450,7 @@ function showPrimes(n) {
450450
}
451451
```
452452
453-
A doua variantă folosește o funcție suplimentară `isPrime(n)` pentru a testa primalitatea:
453+
A doua variantă folosește o funcție adițională `isPrime(n)` pentru a testa primalitatea:
454454
455455
```js
456456
function showPrimes(n) {
@@ -470,7 +470,7 @@ function isPrime(n) {
470470
}
471471
```
472472
473-
A doua variantă este mai ușor de înțeles, nu-i aşa? În loc de piesa de cod, vedem un nume al acțiunii (`isPrime`). Uneori, oamenii se referă la un astfel de cod ca la *auto-descriere*.
473+
A doua variantă este mai ușor de înțeles, nu-i aşa? În loc de piesa de cod, vedem un nume al acțiunii (`isPrime`). Uneori, oamenii se referă la un astfel de cod ca *auto-descriptiv*.
474474
475475
Deci, funcțiile pot fi create chiar dacă nu intenționăm să le reutilizam. Ele structurează codul și îl fac lizibil.
476476
@@ -479,18 +479,18 @@ Deci, funcțiile pot fi create chiar dacă nu intenționăm să le reutilizam. E
479479
O declarație de funcție arată astfel:
480480
481481
```js
482-
function name(parameters, delimited, by, comma) {
483-
/* code */
482+
function name(parametri, delimitați, de, virgulă) {
483+
/* cod */
484484
}
485485
```
486486
487487
- Valorile transmise unei funcții ca parametri sunt copiate în variabilele locale.
488-
- funcția poate accesa variabile exterioare. Dar funcționează numai din interior spre exterior. Codul din afara funcției nu vede variabilele locale.
488+
- Funcția poate accesa variabile exterioare. Dar funcționează numai din interior spre exterior. Codul din afara funcției nu vede variabilele locale.
489489
- O funcție poate returna o valoare. Dacă nu, atunci rezultatul ei este `undefined`.
490490
491491
Pentru a face codul curat și ușor de înțeles, este recomandat să folosiți în principal variabile și parametri locali în funcție, nu variabile exterioare.
492492
493-
Este întotdeauna mai ușor de înțeles o funcție care primește parametri, lucrează cu ele și returnează un rezultat, decât o funcție care nu primește niciun parametru, dar modifică variabilele exterioare ca efect secundar.
493+
Este întotdeauna mai ușor de înțeles o funcție care primește parametri, lucrează cu ei și returnează un rezultat, decât o funcție care nu primește niciun parametru, dar modifică variabilele exterioare ca efect secundar.
494494
495495
Denumirea funcției:
496496

0 commit comments

Comments
 (0)