Skip to content

Commit aad4b6d

Browse files
committed
2 parents de0486e + 75c9726 commit aad4b6d

File tree

1 file changed

+11
-11
lines changed
  • 1-js/02-first-steps/16-function-expressions

1 file changed

+11
-11
lines changed

1-js/02-first-steps/16-function-expressions/article.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,6 @@ let řekniAhoj = function() {
2222
};
2323
```
2424

25-
Zde je funkce vytvořena a výslovně přiřazena do proměnné jako kterákoli jiná hodnota. Nezáleží na tom, jak je funkce definována. Je to jen hodnota uložená do proměnné `řekniAhoj`.
26-
27-
Význam obou částí kódu je stejný: „vytvořit funkci a uložit ji do proměnné `řekniAhoj`“.
28-
2925
Zde vidíme proměnnou `řekniAhoj`, do níž je uložena hodnota, kterou je nová funkce, vytvořená jako `function() { alert("Ahoj"); }`.
3026

3127
Protože k vytvoření funkce dochází v kontextu přiřazovacího výrazu (na pravé straně `=`), je to *funkční výraz*.
@@ -56,7 +52,9 @@ Všimněte si, že poslední řádek nevolá funkci, protože za `řekniAhoj` ne
5652

5753
V JavaScriptu je funkce hodnota, takže s ní můžeme zacházet jako s hodnotou. Výše uvedený kód zobrazí její řetězcovou reprezentaci, kterou je zdrojový kód funkce.
5854

59-
Samozřejmě, funkce je speciální hodnota v tom smyslu, že ji můžeme volat, např. `řekniAhoj()`. Je to však stále hodnota, a proto s ní můžeme pracovat jako s hodnotou jakéhokoli jiného druhu.
55+
Samozřejmě, funkce je speciální hodnota v tom smyslu, že ji můžeme volat, např. `řekniAhoj()`.
56+
57+
Je to však stále hodnota, a proto s ní můžeme pracovat jako s hodnotou jakéhokoli jiného druhu.
6058

6159
Můžeme zkopírovat funkci do jiné proměnné:
6260

@@ -68,7 +66,7 @@ function řekniAhoj() { // (1) vytvoření
6866
let funkce = řekniAhoj; // (2) zkopírování
6967

7068
funkce(); // Ahoj // (3) spustíme kopii (funguje to!)
71-
řekniAhoj(); // Ahoj // tohle pořád funguje taky (proč by nemělo)
69+
řekniAhoj(); // Ahoj // i tohle stále funguje (proč by nemělo)
7270
```
7371

7472
Co se v uvedeném příkladu přesně stane:
@@ -90,6 +88,7 @@ let funkce = řekniAhoj;
9088

9189
Všechno bude fungovat stejně.
9290

91+
9392
````smart header="Proč je na konci středník?"
9493
Možná se divíte, proč funkční výraz obsahuje na konci středník `;`, ale deklarace funkce ne:
9594
@@ -108,7 +107,7 @@ Odpověď je jednoduchá: funkční výraz je zde vytvořen jako `function(…)
108107
Středník by zde byl i u jednoduššího přiřazení, například `let řekniAhoj = 5;`, a je zde také u přiřazení funkce.
109108
````
110109

111-
## Callbackové funkce
110+
## Funkce zpětného volání (callbackové funkce)
112111

113112
Podíváme se na další příklady předávání funkcí jako hodnot a používání funkčních výrazů.
114113

@@ -216,7 +215,7 @@ Deklarace funkcí jsou odlišné.
216215

217216
Například globální deklarace funkce je viditelná v celém skriptu, ať se nachází kdekoli.
218217

219-
Je to způsobeno vnitřními algoritmy. Když JavaScript připravuje spuštění skriptu, nejprve v něm najde globální deklarace funkcí a tyto funkce vytvoří. Můžeme to považovat za „inicializační krok“.
218+
Je to způsobeno vnitřními algoritmy. Když JavaScript připravuje spuštění skriptu, nejprve v něm najde globální deklarace funkcí a tyto funkce vytvoří. Můžeme to považovat za „přípravnou fázi“.
220219

221220
Teprve až jsou všechny deklarace funkcí zpracovány, kód se vykoná. Proto má k těmto funkcím přístup.
222221

@@ -292,7 +291,7 @@ if (věk < 18) {
292291
uvítání(); // \ (spustí se)
293292
*/!*
294293
// |
295-
function uvítání() { // |
294+
function uvítání() { // |
296295
alert("Ahoj!"); // | deklarace funkce je k dispozici
297296
} // | všude v bloku, v němž je funkce deklarována
298297
// |
@@ -302,7 +301,7 @@ if (věk < 18) {
302301
303302
} else {
304303
305-
function uvítání() {
304+
function uvítání() {
306305
alert("Zdravíme vás!");
307306
}
308307
}
@@ -359,6 +358,7 @@ uvítání(); // nyní je to v pořádku
359358
*/!*
360359
```
361360

361+
362362
```smart header="Kdy zvolit deklaraci funkce a kdy funkční výraz?"
363363
Orientační pravidlo zní, že když potřebujeme deklarovat funkci, měli bychom napřed zvážit syntaxi deklarace funkce. Ta nám dává více svobody v tom, jak zorganizovat kód, protože takovou funkci můžeme volat ještě předtím, než je deklarována.
364364
@@ -377,4 +377,4 @@ Je také lépe čitelná, protože je jednodušší najít v kódu `function f(
377377

378378
Ve většině případů, kdy potřebujeme deklarovat funkci, dáváme přednost deklaraci funkce, protože pak je funkce viditelná ještě před samotnou deklarací. To nám dává více možností při organizaci kódu a je to zpravidla čitelnější.
379379

380-
Funkční výrazy bychom tedy měli používat jen tehdy, když nám pro naše účely deklarace funkce nestačí. V této kapitole jsme viděli několik takových příkladů a v budoucnu uvidíme další.
380+
Funkční výrazy bychom tedy měli používat jen tehdy, když nám pro naše účely deklarace funkce nestačí. V této kapitole jsme viděli několik takových příkladů a v budoucnu uvidíme další.

0 commit comments

Comments
 (0)