1 gwiazdka2 gwiazdki3 gwiazdki4 gwiazdki5 gwiazdek (głosów: 1, średnia ocena: 5,00)
Loading...Loading...

Funkcje JavaScript

Funkcje służą do przechowywania bloków kodu, który ma być wykorzystany wielokrotnie. Mogą one przyjmować od zera do kilku argumentów, a także zwracać wartość.

Funkcje można tworzyć na różne sposoby:

Przykład 2.32. Definicja funkcji

function foo() { /* zrób coś */ }

Przykład 2.33. Nazwane wyrażenie funkcyjne

var foo = function() { /* zrób coś */ }
Osobiście wolę, z pewnych przyczyn technicznych, tworzyć funkcje poprzez wyrażenia funkcyjne. Generalnie można się jednak spotkać z obiema metodami.

Korzystanie z funkcji

Przykład 2.34. Prosta funkcja

var przywitaj = function(osoba, powitanie) {
    var tekst = powitanie + ', ' + osoba;
    console.log(tekst);
};
przywitaj('Rebecca', 'Witaj');
Przykład 2.35: Funkcja zwracająca wartość
var przywitaj = function(osoba, powitanie) {
    var tekst = powitanie + ', ' + osoba;
    return tekst;
};
console.log(przywitaj('Rebecca','witaj'));

Przykład 2.36. Funkcja zwracająca inną funkcję

var przywitaj = function(osoba, powitanie) {
    var tekst = powitanie + ', ' + osoba;
    return function() { console.log(tekst); };
};
var pozdrowienie = przywitaj('Rebecca', 'Witaj');
pozdrowienie();

Samowykonujące się funkcje anonimowe

W języku JavaScript bardzo często wykorzystuję się samowykonujące się funkcje anonimowe. Funkcja tworzona jest wówczas poprzez wyrażenie funkcyjne, a następnie zostaje natychmiastowo wykonana. Rozwiązanie to jest niezwykle przydatne jeśli nie chcesz zaśmiecać globalnej przestrzeni nazw swoim kodem — zmienne zadeklarowane wewnątrz funkcji nie są widoczne poza nią.

Przykład 2.37. Samowykonująca się funkcja anonimowa

(function(){
    var foo = 'Witaj, świecie';
})();
console.log(foo);   // niezdefiniowane!

Funkcja jako argument

W języku JavaScript, funkcje można określić mianem „obywateli pierwszej kategorii” — mogą być one przypisywane do zmiennych lub przekazywane jako argumenty innych funkcji. Przekazywanie funkcji jako argumentu to bardzo częsta praktyka w jQuery.

Przykład 2.38. Przekazywanie funkcji anonimowej jako argumentu

var mojaFn = function(fn) {
    var rezultat = fn();
    console.log(rezultat);
};
mojaFn(function() { return 'witaj, świecie'; });   // rejestruje witaj, świecie

Przykład 2.39. Przekazywanie nazwanej funkcji jako argumentu

var mojaFn = function(fn) {
    var rezultat = fn();
    console.log(rezultat);
};
var mojaDrugaFn = function() {
    return 'witaj, świecie';
};
mojaFn(mojaDrugaFn);   // rejestruje witaj, świecie

Inne artykuły poruszające podobny temat

CSSRegions.js ikona

CSSRegions.js

Dodaj komentarz









Newsletter

Subskrybując nasz newsletter masz pewność, że nie ominie Cię żadna nowość w serwisie!