
Funkce
Funkce jsou v JavaScriptu tzv. „first-class“ hodnoty. Neboli se s nimi může nakládat jako s jakýmikoli jinými hodnotami – dají se ukládat do proměnných, předávat jako parametry funkcí a vracet z funkcí. Je to díky tomu, že funkce jsou vlastně objekty.
Funkci můžeme definovat třemi způsoby:
// 1. vytvořením funkčního objektu
var add = new Function("a", "b", "return a + b;");
// 2. funkčním literálem
var add = function (a, b) {
return a + b;
};
// 3. funkčním literálem se syntaktickým cukrem
function add(a, b) {
return a + b;
}
Všechny tři zápisy jsou ekvivalentní. První způsob (pomocí vytvoření nového funkčního objektu) není moc obvyklý. Druhý je velice názorný v tom, jak zvýrazňuje hlavní vlastnost javascriptových funkcí – jejich hodnost jako „first-class“ objektů. Třetí způsob je nejběžnější a nejvíce se také podobá zápisu funkcí z jiných programovacích jazyků (např. PHP).