W JavaScript klasyczna deklaracja funkcji (function declaration) ma postać:
function nazwa(parametry) { // instrukcje
}Kluczowe elementy to: słowo kluczowe function, identyfikator (nazwa funkcji), lista parametrów w nawiasach okrągłych oraz blok instrukcji w klamrach. Taka deklaracja tworzy funkcję o podanej nazwie.
Dlaczego pozostałe odpowiedzi są błędne?
- "new nazwa_funkcji(argumenty) {instrukcje;}" – operator new służy do tworzenia instancji obiektu na podstawie funkcji/konstruktora lub klasy. Nie jest to składnia deklaracji funkcji, a dodatkowo blok w klamrach po wywołaniu z new nie ma tu sensu składniowego.
- "nazwa_funkcji(argumenty) {instrukcje;}" – zapis z samą nazwą i nawiasami odpowiada raczej wywołaniu funkcji (call), a nie jej deklaracji/definicji. Do utworzenia funkcji potrzeba konstrukcji deklaracyjnej lub przypisania wyrażenia funkcyjnego do zmiennej.
- "typ_funkcji nazwa_funkcji(argumenty) {instrukcje;}" – JavaScript nie stosuje w tej formie jawnego typu zwracanego przed nazwą funkcji (to typowy nawyk z języków statycznie typowanych). W JS typy są dynamiczne, a taki prefiks nie jest poprawnym elementem składni deklaracji funkcji.
Warto pamiętać, że poza deklaracją funkcji spotyka się także inne formy tworzenia funkcji, np. wyrażenie funkcyjne przypisywane do zmiennej lub funkcję strzałkową. Jednak w tym pytaniu poprawna jest klasyczna deklaracja rozpoczynająca się od function.