Anonymní funkce JavaScriptu

Shrnutí: v tomto kurzu se seznámíte s anonymními funkcemi JavaScriptu.

Úvod do anonymních funkcí JavaScriptu

Anonymní funkce je funkce bez názvu. Anonymní funkce často není po svém prvním vytvoření přístupná.

Následující příklad ukazuje anonymní funkci, která zobrazuje zprávu:

Code language: JavaScript (javascript)

V tomto příkladu nemá anonymní funkce mezi klíčovým slovem function a závorkami () žádné jméno.

Protože potřebujeme anonymní funkci zavolat později, přiřadíme ji do proměnné show.

Používání anonymních funkcí jako argumentů jiných funkcí

Často používáme anonymní funkce jako argumenty jiných funkcí. Například:

Code language: JavaScript (javascript)

V tomto příkladu předáváme anonymní funkci do funkce setTimeout(). Funkce setTimeout() provede tuto anonymní funkci o jednu sekundu později.

Všimněte si, že funkce jsou v JavaScriptu občany první třídy, takže můžete předat funkci jiné funkci jako argument.

Použití funkce s okamžitým vyvoláním

Pokud chcete vytvořit funkci a provést ji okamžitě po deklaraci, můžete použít anonymní funkci takto:

Code language: JavaScript (javascript)

Jak to funguje.

Nejprve definuje funkční výraz:

Code language: JavaScript (javascript)

Druhé, koncové závorky () umožňují volat funkci:

Code language: JavaScript (javascript)

a někdy do ní můžete chtít předat argumenty, například takto:

Code language: JavaScript (javascript)

Šipkové funkce

ES6 zavedl šipkový funkční výraz, který poskytuje zkratku pro deklaraci anonymních funkcí:

Například tuto funkci:

Code language: JavaScript (javascript)

… lze zkrátit pomocí následující šipkové funkce:

Code language: JavaScript (javascript)

Podobně následující anonymní funkce:

Code language: JavaScript (javascript)

… je ekvivalentní následující šipkové funkci:

Code language: JavaScript (javascript)

Souhrn

  • Anonymní funkce jsou funkce bez jmen.
  • Anonymní funkce lze použít jako argument jiných funkcí nebo jako bezprostředně vyvolané provedení funkce.
  • Byl tento návod užitečný?
  • AnoNe

.

Napsat komentář