Home   FORUM   Toplista   HTML   CSS   JavaScript   PHP   DIZAJN   SEO   Mapa
KONTAKT
izuzetan[at]gmail.com






TOP LISTA SAJTOVA

Sopstvene funkcije

Funkcije koje mi kreiramo predstavljaju jednu od veoma bitnih orudja JavaScript-a. Jednostavno rečeno, funkcija je imenovani blok koda koga sami pravimo jednom a po potrebi upotrebljavamo više puta. Ako se deo nekog koda, ili neko izračunavanje stalno i često ponavlja, onda se taj deo koda može izdvojiti u funkciju. To će vam omogućiti da funkciju koju sami napišete koristite isto kao i neku ugradjenu funkciju, tako što je pozivate neograničen broj puta dodeljivanjem neophodnih parametara. Možete kreirati proizvoljan broj funkcija u programu. Funkcija može vraćati vrednost, bilo promenjljivu, objekt, ili da izvrši neku akciju.

Funkcija može smestiti bilo gde u okviru jednog HTML dokumenta, ali obično sve funkcije se grupišu u jedan SCRIPT tag u HEAD tag. Ali možemo ih smestiti u poseban fajl na primer funkcije.js i umetnuti ga u HTML dokument.

Unutar funkcije je moguće pozvati druge funkcije definisane unutar istog HTML dokumenta.

Izradu sopstvene finkcije započinjemo rezervisanom rečju function. Zatim po našem izboru sledi ime funkcije. Slede u zagradi parametri odvojeni zarezom. I na kraju blok naredbi koji će biti izvršen svaki put kad se funkcija pozove. To izgleda ovako:

function formula (parametar1, parametar2,...., parametarN, "stringN", 10, ….) {
    //telo funkcije
}

U telu funkcije inače možete koristite sve vezano za JavaScript što smo do sad naučili i šta će mo naučiti.

U skriptama se ova naša funkcija iz gornjeg primera poziva više puta kad je potrebno na sledeći način:

formula (promenjljiva1, masa,...., tezina, "ana voli milovana", 110, ….);

Evo na primer nešto konkretno:

function stampaj(string){
     document.write(string)
}

Funkcija stampaj ( ) ima argument promenljivu string. Unutar tela funkcije možemo sa tom promenjljivom raditi šta god želimo. Funkciji se mogu prosleđivati promenljive, konstante, ali i obični stringovi u navodnicima ili i obični brojevi. Ukoliko se promenljiva prosledi funkciji, promena njene vrednosti unutar funkcije ne menja njenu vrednost izvan funkcije. Parametri postoje samo za života funkcije. Ukoliko zovete funkciju više puta, svaki put kada zovete funkcije imaćete "nove" parametre, odnosno vrednost koji će parametri imati na kraju prethodnog poziva funkcije neće biti sačuvana.

Na primer, funkciju stampaj ( ) možemo pozvati sa bilo kojim parametrom:

ime = "Tanja";
stampaj (ime);

Kada funkcija počne da se izvršava, promenljiva string u funkciji će imati vrednost "Tanja". Isto funkciju stampaj () možemo pozvati sa konstantom:

stampaj ("Tanja");

Kada funkcija počne da se izvršava, promenljiva string u funkciji će takođe imati vrednost "Tanja".

Pozivanje JavaScript funkcije se može obaviti na više načina.

  1. Iz druge funkcije ili JavaScript programa:

    <SCRIPT LANGUAGE="JavaScript">
       stampaj("Ovo je tekst koji će se prikazati.")
    </SCRIPT>


  2. Kao reakciju na događaj:

    <body OnLoad="stampaj(\"Ovo je tekst koji će se prikazati.\")">


  3. Izborom linka vezanog za događaj:

Kao što je prethodno pomenuto, funkcija može vraćati i rezultate. Rezultat se iz funkcije vraća korišćenjem naredbe return. Na primer:

function kub(broj) {
    kub = broj * broj * broj;
    return kub;
}

naredba return vraća vrednost promenljive kub. Znači ne vraća promenjljivu nego samo njenu VREDNOST !!!! Istu funkciju možemo napisati i na sledeći način, preko vraćanja izraza:

function kub(broj) {
return broj * broj * broj;
}

Izraz broj * broj * broj će se izračunati u jednu vrednost, i ta vrednost se vraća iz funkcije.

Funkcije mogu biti rekurzivne, odnosno mogu pozivati same sebe. Rekurzija funkcija je veoma moćna stvar, ali može biti i veoma opasna. Duboke rekurzije, čak iako nisu beskonačne, mogu prouzrokovati pucanje WWW čitača.

U funkcijama se otvara pitanje o dubini važenja promenljivih. Ako smo promenljivu definisali u funkciju, oblast važnosti promenljive je ta funkcija. Ako je promenljiva definisana van funcije i to iznad te funkcije, oblast važenja te promenjljive je u celoj skripti uključujući i u funkciji. Takva promenjljiva je globalna promenljiva. Ako definišemo lokalnu promenljivu unutar funkcije sa istim imenom koju već ima neka globalna promenljiva, u toj funkciji će se kreirati nova verzija promenljive čija je oblast važenja funkcija, dok globalna promenljiva sa istim imenom neće promeniti vrednost.

Copyright © 2010 BUbaj. Powered By bubaj.com
JavaScript    Sintaksa    Osnovne funkcije    Kontrolne strukture    Dogadjaji    Browser funkcije    HTML DOM objekti    Tabele    JS i CSS    CANVAS