Dwa sposoby na stworzenie funkcji Drukuj
Ocena użytkowników: / 0
SłabyŚwietny 
Wpisany przez Patryk yarpo Jar   
wtorek, 22 września 2009 18:22

javascript jest niezwykle ekspresyjnym językiem. Istnieje w niej wiele ciekawych rozwiązań pozwalających tworszyć krótszy lub bardzeij czytelny kod. W tej poradzie pokażę dwa różne podejścia do tworzenia funkcji / metod.

Sposób 1 - tradycyjny:

function nazwa_funkcji_1() {

   alert("nazwa_funkcji_1: Ja istnieje!");

}

Jeśli kiedykolwiek tworzyłeś swoje funkcje, to z pewnością zapis ten jest ci dobrze znany. Zapis ten jest używany także w PHP. Po słowie kluczoowym function należy podać ciąg znaków spełniający odpowiednie warunki (nie może zaczynać się od liczby, nie może mieć spacji itp, i td.) po czym należy podać parę nawiasów. W nawiasach można podać argumenty, ale nie trzeba.

Drugio sposób (funkcja anonimowa) - przypisanie referencji do zmiennej:

var nazwa_funkcji_2 = function() {

    alert("nazwa_funkcji_2: Ja istnieje!");

}

Tworzymy zmienną do której przypisujemy funkcję. Ważne: funkcję, a nie wynik funkcji! Czyli za każdym razem, kiedy napiszemy nazwę zmiennej i dodamy nawiasy, zostanie wywołana funkcja, którą przypisaliśmy do zmiennej.

Obie funkcje wywołuje się tak samo:

nazwa_funkcji_1();

nazwa_funkcji_2()

Oczywiście funkcja anonimowa może także przyjmować argumenty:

var nazwa_funkcji_2 = function(a, b, c) {

    alert("a: " + a + "\nb: " + b + "\nc: " + c);

}

Obie notacje są równoważne. Co więcej można zrobić tak:

function suma(a, b) {

    return a+b;

}
var przyklad_referencja = suma;

var przyklad_wynik = suma(2, 2);

alert(przyklad_referencja);

alert(przyklad_wynik);

Pierwszy alert wyświetli nam ciało funkcji, drugi wynik działania funkcji.

Istnieje co prawda jeszcze jeden sposób na tworzsenie funkcji - new Function(), jednak jest to sposób rzadko używany i odradzany.