Blog webdeveloperski Patryk yarpo Jar

Sposoby tworzenia funkcji w JS

Autor wiadomości Luty 16, 2011

Javascript jest niezwykle ekspresyjnym językiem. Istnieje w niej wiele ciekawych rozwiązań pozwalających tworzyć krótszy lub bardziej 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.

Drugi sposób

Wykorzystuje mechanizm funkcji anonimowej:

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 tworzenie funkcji - new Function(), jednak jest to sposób rzadko używany i odradzany, choćby z powodów opisanych w artykule JSON vs konstruktory.

Komentarze (0) Trackbacks (0)

Brak komentarzy.


Leave a comment

 

Brak trackbacków.