Skip to content

Commit 6c201da

Browse files
committed
Grammar polished
Cleaning up some obvious English calques. Added note about English term: Immediately-Invoked Function Expression - IIFE
1 parent 0d44519 commit 6c201da

File tree

1 file changed

+16
-14
lines changed

1 file changed

+16
-14
lines changed

doc/pl/function/scopes.md

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ definiowane w jednej *globalnie współdzielonej* przestrzeni nazw.
2121

2222
Z każdym odwołaniem do zmiennej, JavaScript przeszukuje w górę wszystkie zasięgi
2323
dopóki nie znajdzie tej zmiennej. W przypadku, gdy przeszukiwanie dotrze do globalnego
24-
zasięgu i nadal nie znajdzie żądanej nazwy, to wyrzuca błąd `ReferenceError`.
24+
zasięgu i nadal nie znajdzie żądanej nazwy, wyrzuca błąd `ReferenceError`.
2525

2626
### Zmora globalnych zmiennych
2727

@@ -35,7 +35,7 @@ Powyższe dwa skrypty **nie** dają tego samego efektu. Skrypt A definiuje zmien
3535
nazwaną `foo` w *globalnym* zasięgu, natomiast skrypt B definiuje `foo`
3636
w *aktualnym* zasięgu.
3737

38-
Jeszcze raz, to wcale nie daje *tego samego efektu*. Nie użycie `var` może mieć
38+
Jeszcze raz, to wcale nie daje *tego samego efektu*. Brak użycia `var` może mieć
3939
poważne konsekwencje.
4040

4141
// globalny zasięg
@@ -48,8 +48,8 @@ poważne konsekwencje.
4848
foo; // 21
4949

5050
Pominięcie słowa `var` w deklaracji wewnątrz funkcji `test` nadpisze wartość
51-
zmiennej globalnej `foo`. Mimo że nie wygląda to na początku na duży problem,
52-
posiadanie wielu tysięcy linii kodu w JavaScript i nie korzystanie z `var`
51+
zmiennej globalnej `foo`. Mimo, że nie wygląda to na początku na duży problem,
52+
w przypadku kodu, który posiada wielu tysięcy linii, brak `var`
5353
wprowadzi straszne i trudne do wyśledzenia błędy.
5454

5555
// globalny zasięg
@@ -68,8 +68,8 @@ wprowadzi straszne i trudne do wyśledzenia błędy.
6868
Zewnętrzna pętla zakończy działanie po pierwszym wywołaniu `subLoop`, ponieważ
6969
`subLoop` nadpisuje wartość globalnej zmiennej `i`. Użycie `var` w drugiej pętli
7070
`for` pozwoliłoby łatwo uniknąć problemu. Słowo kluczowe `var` nie powinno być
71-
**nigdy** pominięte w deklaracji, chyba że *pożądanym skutkiem* jest wpłynięcie na
72-
zewnętrzny zasięg.
71+
**nigdy** pominięte w deklaracji, chyba że *pożądanym skutkiem* jest modyfikacja
72+
zewnętrznego zasięgu.
7373

7474
### Lokalne zmienne
7575

@@ -150,7 +150,7 @@ W oryginalnym kodzie instrukcja warunkowa `if` zdaje się modyfikować *zmienną
150150
globalną* `goo`, podczas gdy faktycznie modyfikuje ona *zmienną lokalną* - po tym
151151
jak zostało zastosowane windowanie (hoisting).
152152

153-
Bez wiedzy na temat podnoszenia (hoistingu), poniższy kod może sprawiać wrażenie,
153+
Analizując poniższy kod bez wiedzy na temat hoistingu możemy odnieść wrażenie,
154154
że zobaczymy błąd `ReferenceError`.
155155

156156
// sprawdz czy SomeImportantThing zostało zainicjalizowane
@@ -182,19 +182,21 @@ funkcji.
182182

183183
Na przykład, kiedy próbujemy odczytać zmienną `foo` wewnątrz zasięgu funkcji,
184184
JavaScript będzie szukać nazwy w określonej kolejności:
185-
1. Jeżeli wewnątrz aktualnego zasięgu znajduje się deklaracja `var foo` skorzystaj z niej.
186-
2. Jeżeli jeden z parametrów fukcji został nazwany `foo` użyj go.
187-
3. Jeżeli fukcja została nazwana `foo` skorzystaj z tego.
188-
4. Przejdz do zewnętrznego zasięgu i przejdz do kroku **#1**.
189185

190-
> **Uwaga:** Jeżeli jeden z parametrów fukcji został nazwany `arguments`, zapobiegnie
191-
> to utworzeniu domyślnego obiektu `arguments`.
186+
1. Jeżeli wewnątrz aktualnego zasięgu znajduje się deklaracja `var foo`, skorzystaj z niej.
187+
2. Jeżeli jeden z parametrów fukcji został nazwany `foo`, użyj go.
188+
3. Jeżeli funkcja została nazwana `foo`, skorzystaj z tego.
189+
4. Przejdź do zewnętrznego zasięgu i przejdź do kroku **#1**.
190+
191+
> **Uwaga:** Jeżeli jeden z parametrów fukcji został nazwany `arguments`,
192+
> nie zostanie utworzony domyślny obiekt `arguments`.
192193
193194
### Przestrzenie nazw
194195

195196
Powszechnym problemem posiadania tylko jednej globalnej przestrzeni nazw jest
196197
prawdopodobieństwo wystąpienia kolizji nazw. W JavaScripcie, można łatwo uniknąć
197-
tego problemu korzystając z *anonimowych wrapperów*.
198+
tego problemu korzystając z *anonimowych wrapperów* (inaczej: Immediately-Invoked
199+
Function Expression - IIFE).
198200

199201
(function() {
200202
// autonomiczna "przestrzeń nazw"

0 commit comments

Comments
 (0)