Funkcje w JavaScript

Michał Matulka

michal.matulka@protonmail.ch

Taaa... lepiej obczajcie to

Funkcja jest wydzielonym fragmentem kodu

                                function mojaFunkcja() {
    var mojaZmienna = 'Weź obadaj ',
        mojaDrugaZmienna;

    mojaDrugaZmienna = 'ten';
    mojaDrugaZmienna += ' kod';

    console.log(mojaZmienna + mojaDrugaZmienna);
}
                            

Który możemy wykonywać wielokrotnie

                                mojaFunkcja();
                            

No dobra, to jest wielokrotnie:

                                mojaFunkcja();
mojaFunkcja();
mojaFunkcja();
mojaFunkcja();
mojaFunkcja();
mojaFunkcja();
mojaFunkcja();
mojaFunkcja(); //pętle będą kiedy indziej - a znacie komentarze :P?
                            

W różnych częściach programu

                                mojaFunkcja();
                            
                                mojaFunkcja();
                            
                                mojaFunkcja();
                            
                                mojaFunkcja();
                            
                                mojaFunkcja();
                            

Deklaracja funkcji

                                function mojaFunkcja() {
    //Tutaj jest kod
}
                            var mojaFunkcja = function () {
    //Tutaj jest kod
};
                            var mojaFunkcja = function mojaFunkcja() {
    //Tutaj jest kod
};
                            (function mojaFunkcja() {
    //Tutaj jest kod
})();
                            waszaFunkcja(function () {
    //Tutaj jest kod
});
                            waszaFunkcja(function mojaFunkcja() {
    //Tutaj jest kod
});
                            
wat

Deklaracja "klasyczna"

function mojaFunkcja() {
    //Tutaj jest kod
}

Znana z innych języków programowania

  • Słowo kluczowe function
  • Nazwa funkcji pomiędzy słowem kluczowym a nawiasami
  • Brak spacji pomiędzy nazwą a nawiasem (jestem pedantycznym nerdem, to nie jest konieczne)
  • Nie kończymy tej deklaracji średnikiem

Deklaracja z wykorzystaniem wartości

var mojaFunkcja = function () {
    //Tutaj jest kod
};

O tym dalej ;)

Deklaracja mieszana

var mojaFunkcja = function mojaFunkcja() {
    //Tutaj jest kod
};

O tym też dalej ;)

Argumenty funkcji

Deklaracja funkcji z argumentami

function dodaj(a, b) {
    alert(a + b);
}

Wywołanie funkcji z argumentami

dodaj(2, 3);

Argument staje się zmienną wewnątrz funkcji i nie trzeba deklarować go osobno jako zmiennej!!!!!111

Zwracanie wartości z funkcji

Deklaracja funkcji zwracającej wartość

function siema() {
    return 'Witaj świecie!';
}

Wywołanie funkcji zwracającej wartość

(i oczywiście wykorzystanie zwróconej wartości)

var zwrotka = siema();
alert(zwrotka);

Wartość zwrócona z wywołania funkcji jest traktowana tak samo, jak wartość dowolnego innego wyrażenia.

Naturalnie, możemy zrobić też tak:

alert(siema());

Lub na przykład tak:

var siemaszki = [siema(), siema(), siema(), siema()];

No to teraz połączmy siły

                                function dodaj(a, b) {
    return a + b;
}
                            

I użyjmy broni masowej zagłady

alert(dodaj(7, 4));

Coming soon...

Brace yourselves, the win... function assignment is coming!

Nerd Stark

Podziękował ;)