You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: 1-js/06-advanced-functions/03-closure/article.md
+27-27Lines changed: 27 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,84 +19,84 @@ Haideți să ne extindem cunoștințele pentru a înțelege aceste scenarii și
19
19
- Vechiul `var` are câteva diferențe notabile, acestea vor fi acoperite în articolul <info:var>.
20
20
```
21
21
22
-
## Code blocks
22
+
## Blocuri de cod
23
23
24
-
If a variable is declared inside a code block `{...}`, it's only visible inside that block.
24
+
Dacă o variabilă este declarată în interiorul unui bloc de cod `{...}`, ea este vizibilă doar în interiorul acelui bloc.
25
25
26
-
For example:
26
+
De exemplu:
27
27
28
28
```js run
29
29
{
30
-
// do some job with local variables that should not be seen outside
30
+
// face o treabă cu variabile locale care nu ar trebui să fie văzute în exterior
31
31
32
-
let message = "Hello"; // only visible in this block
32
+
let message = "Salut"; // vizibil doar în acest bloc
33
33
34
-
alert(message); // Hello
34
+
alert(message); // Salut
35
35
}
36
36
37
37
alert(message); // Error: message is not defined
38
38
```
39
39
40
-
We can use this to isolate a piece of code that does its own task, with variables that only belong to it:
40
+
Putem folosi acest lucru pentru a izola o bucată de cod care își face propria sarcină, cu variabile care îi aparțin doar ei:
41
41
42
42
```js run
43
43
{
44
-
//show message
45
-
let message ="Hello";
44
+
//afișează mesajul
45
+
let message ="Salut";
46
46
alert(message);
47
47
}
48
48
49
49
{
50
-
//show another message
51
-
let message ="Goodbye";
50
+
//afișează un alt mesaj
51
+
let message ="La revedere";
52
52
alert(message);
53
53
}
54
54
```
55
55
56
-
````smart header="There'd be an error without blocks"
57
-
Please note, without separate blocks there would be an error, if we use `let` with the existing variable name:
56
+
````smart header="Ar exista o eroare fără blocuri"
57
+
Vă rugăm să notați că, fără blocuri separate ar exista o eroare, dacă am folosi `let` cu numele variabilei existente:
58
58
59
59
```js run
60
-
// show message
61
-
let message = "Hello";
60
+
// arată mesajul
61
+
let message = "Salut";
62
62
alert(message);
63
63
64
-
// show another message
64
+
// arată un alt mesaj
65
65
*!*
66
-
let message = "Goodbye"; // Error: variable already declared
66
+
let message = "La revedere"; // Error: variable already declared
67
67
*/!*
68
68
alert(message);
69
69
```
70
70
````
71
71
72
-
For`if`, `for`, `while`and so on, variables declared in`{...}`are also only visible inside:
72
+
Pentru`if`, `for`, `while`și așa mai departe, variabilele declarate în`{...}`sunt de asemenea vizibile doar în interior:
73
73
74
74
```js run
75
75
if (true) {
76
-
let phrase ="Hello!";
76
+
let phrase ="Salut!";
77
77
78
-
alert(phrase); //Hello!
78
+
alert(phrase); //Salut!
79
79
}
80
80
81
81
alert(phrase); // Error, no such variable!
82
82
```
83
83
84
-
Here, after `if`finishes, the `alert`below won't see the `phrase`, hence the error.
84
+
Aici, după ce `if`se termină, `alert`de mai jos nu va vedea `phrase`, de unde și eroarea.
85
85
86
-
That's great, as it allows us to create block-local variables, specific to an`if` branch.
86
+
Asta este grozav, deoarece ne permite să creăm variabile locale de bloc, specifice unei ramuri`if`.
87
87
88
-
The similar thing holds true for `for`and`while` loops:
88
+
Același lucru este valabil și pentru buclele `for`și`while`:
89
89
90
90
```js run
91
91
for (let i =0; i <3; i++) {
92
-
//the variable i is only visible inside this for
93
-
alert(i); // 0, then 1, then 2
92
+
//variabila i este vizibilă doar în interiorul acestui for
93
+
alert(i); // 0, apoi 1, apoi 2
94
94
}
95
95
96
-
alert(i); //Error, no such variable
96
+
alert(i); //Eroare, nu există o astfel de variabilă
97
97
```
98
98
99
-
Visually, `let i`is outside of `{...}`. But the`for`construct is special here: the variable, declared inside it, is considered a part of the block.
99
+
Vizual, `let i`se află în afara lui `{...}`. Dar construcția`for`este specială aici: variabila, declarată în interiorul ei, este considerată parte a blocului.
0 commit comments