JavaScript funkce jsou definovány pomocífunction
klíčové slovo.
můžete použít deklaraci funkce nebo výraz funkce.
Deklarace Funkce
Dříve v tomto návodu jste se naučili, že funkce jsou deklarovány s následující syntaxí:
// kód, který bude proveden
}
Deklarované funkce nejsou provedeny okamžitě., Jsou „uloženy pro pozdější použití“ a budou provedeny později, když jsou vyvolány (vyzvány).
Příklad:
return a * b;
}
Vyzkoušejte si to Sami “
Středník se používá k oddělení spustitelný JavaScript prohlášení.
protože deklarace funkce není spustitelný příkaz, není běžné jej ukončit středníkem.
funkční výrazy
funkce JavaScript lze také definovat pomocí výrazu.,
výraz funkce může být uložen v proměnné:
Příklad:
Vyzkoušejte si to Sami “
Po výraz funkce byl uložen v proměnné, proměnné mohou být použity jako funkce:
Příklad:
var z = x(4, 3);
Vyzkoušejte si to Sami “
funkce výše, je vlastně anonymní funkce (funkce bez názvu).
funkce uložené v proměnných nepotřebují názvy funkcí. Jsou vždy vyvolány (volány) pomocí názvu proměnné.,
výše uvedená funkce končí středníkem, protože je součástí spustitelného příkazu.
Funkce() Constructor
Jak jste viděli v předchozích příkladech, JavaScript funkce jsou definovány pomocí function
klíčové slovo.funkce
lze také definovat pomocí vestavěného konstruktoru funkcí JavaScript s názvem Function()
.,
Příklad:
var x = mojefunkce(4, 3);
Vyzkoušejte si to Sami “
skutečně nemusíte používat funkci konstruktoru. Výše uvedený příklad je stejný jako psát:
Příklad:
var x = mojefunkce(4, 3);
Vyzkoušejte si to Sami “
Většinu času, se můžete vyhnout pomocí new
klíčové slovo v jazyce JavaScript.,
funkce zvedání
dříve v tomto tutoriálu jste se dozvěděli o „zvedání“ (zvedání JavaScriptu).
zvedání je výchozí chování JavaScriptu přesunutí deklarací na vrchol aktuálního rozsahu.
zdvihání se vztahuje na deklarace proměnných a na deklarace funkcí.
z tohoto Důvodu, JavaScript funkce může být volána předtím, než jsou prohlásil:
funkce mojefunkce(y) {
return y * y;
}
Funkce definované pomocí výrazu nejsou zvedla.,
Self-vyvolání funkce
funkce výrazy mohou být provedeny „self-vyvolání“.
samovyvolávací výraz je vyvolán (spuštěn) automaticky, aniž by byl volán.
funkční výrazy se spustí automaticky, pokud je výraz následován ().
nelze samostatně vyvolat deklaraci funkce.
Budete muset přidat do závorek funkce označuje, že je funkce projevu:
Příklad:
var x = „Hello!!,“; / / I will invoke myself
}) ();
Try It Yourself “
funkce výše je ve skutečnosti anonymní self-vyvolávání funkce (funkce bez názvu).,
Funkce Mohou Být Použity jako Hodnoty
funkce Javascriptu mohou být použity jako hodnoty:
Příklad:
return a * b;
}
var x = mojefunkce(4, 3);
Vyzkoušejte si to Sami “
JavaScript funkce mohou být použity ve výrazech:
Příklad:
return a * b;
}
var x = mojefunkce(4, 3) * 2;
Vyzkoušejte si to Sami “
Funkce jsou Objekty
typeof
operátor v JavaScript vrátí „funkce“ pro funkce.,
funkce JavaScript však lze nejlépe popsat jako objekty.
funkce JavaScriptu mají vlastnosti i metody.
arguments.length
vlastnost vrací počet argumentů obdržela, když byla funkce vyvolána:
Příklad:
návrat argumenty.délka;
}
Vyzkoušejte si to Sami “
toString()
metoda vrátí funkce jako řetězec:
Příklad:
return a * b;
}
var txt = mojefunkce.,toString ();
zkuste to sami “
funkce definovaná jako vlastnost objektu se nazývá metoda objektu.
funkce určená k vytváření nových objektů se nazývá Konstruktor objektů.
funkce šipek
funkce šipek umožňuje krátkou syntaxi pro psaní funkčních výrazů.
nepotřebujete function
klíčové slovo return
klíčové slovo, a složené závorky.,
Příklad:
var x = funkce(x, y) {
return x * y;
}
// ES6
const x = (x, y) => x * y;
Vyzkoušejte si to Sami “
Šipka funkce nemají vlastní this
.Nejsou vhodné pro definování objektových metod.
funkce šipek nejsou zvednuty. Musí být definovány před použitím.
použití const
je bezpečnější než použití var
, protože funkční výraz je vždy konstantní hodnota.,
můžete vynechat pouzereturn
Klíčové slovo a kudrnaté závorky, pokud je funkce jediným příkazem. Z tohoto důvodu, to může být dobrý zvyk, aby se vždy udržet je:
Příklad:
Vyzkoušejte si to Sami “
Šipka funkce nejsou podporovány v IE11 nebo dříve.