Funkcije

   <<Povratak na naslovnu

 

 

  • Funkcija je blok koda koji će se izvršiti kad je „neko“ pozove:

1. Primjer:

 

2. JavaScript sintaksa funckija

<!DOCTYPE html>
<html>
<head>
<script>
function myFunction()
{
alert("Hello World!");
}
</script>
</head>
<body>
<button onclick="myFunction()">Klikni me</button>
</body>
</html>
Funkcija se piše kao blok koda (u vitičastima zagradama), kojem prethodi ključna riječ function:
function imeFunkcije()
 

{
kod koji će se izvršiti
}

Kod u funkciji će se izvršiti kad „neko“ pozove funkciju.
Funckije mogu biti pozvane direkno kad se desi događaj (npr. Korisnik klikne dugme), i može biti pozvana bilo gdje u Javascript kodu.
Javascript je osjetljiva na velika i mala slova (case sensitive). Obrati pažnju na to kad imenuješ funkciju i kad je pozivaš.
 

3. Pozivanje funkcije sa argumentima

 

4. Funkcije sa povratom vrijednošću (return value)

Kada pozivaš funkciju, možeš joj proslijediti neke vrijednosti, ove vrijednosti se zovu parametri.
Ovi argumenti mogu se koristiti u funkciji.
Možeš poslati koliko god želiš argumenata, razdvojenih zarezima
mojaFunkcija(argument1,argument2)
Deklariši argument, kao promjenjive, kada deklarišeš funkciju:
function mojaFunkcija(var1,var2)
{
some code
}
Promjenjive i argumenti moraju biti u očekivanom redu. Prva promjenjiva dobija vrijednost prvog argumenta i tako dalje.

Ponekad želiš da funckija vrati vrijednost na mjesto gdje je pozvana.
Ovo je moguće korištenjem return rečenice.
Kada koristiš return rečenicu, funkcija prestaje sa izvršavanjem, i vraća odgovarajuću vrijednost. Javascript nastavlja sa izvršavanjem koda, gdje je ta funkcija bila pozvana.
sintaksa
function myFunction()
{
var x=5;
return x;
}
Funkcija iznad će vratiti 5.
Pozivanje funkcije će zamjeniti povratna vrijednost:
var mojaPromjenjiva=myFunction();
Promjenjiva mojaPromjenjiva dobija vrijednost 5, što joj funkcija "myFunction()" vraća.
Možeš koristiti povratnu vrijednost i bez skladištenja kao promjenjivu:
document.getElementById("demo").innerHTML=myFunction();
InnerHTML od "demo" elementa dobija vrijednost 5, što joj funkcija "myFunction()" vraća.
Možeš napraviti povratnu vrijednost baziranu na agrumentima koji su proslijeđeni funkciji:


<!DOCTYPE html>
<html>
<body>
<p>Klikni na dugme da pozoveš funkciju sa argumentima.</p>
<button onclick="myFunction('Harry Potter','Wizard')">Klikni me</button>
<script>
function myFunction(name,job)
{
alert("Welcome " + name + ", the " + job);
}
</script>

</body>
</html>
<!DOCTYPE html>
<html>
<body>
<p>Ovaj primjer poziva funkciju koja množi i vraća vrijednost:</p>
<p id="demo"></p>
<script>
function myFunction(a,b)
{
return a*b;
}
document.getElementById("demo").innerHTML=myFunction(4,3);
</script>

</body>
</html>
 
Funkcija iznad će poslati alert "Welcome Harry Potter, the Wizard" kada je dugme kliknuto.
Funkcija je fleksibilna, možeš pozvati funkciju koristeći različite argumente, i različite welcome poruke će te dobiti:.

5. Lokalne JavaScript varijable

<!DOCTYPE html>
<html>
<body>
a<p>Klikni na jedno od dva dugmeta da bi ozvao funckiju sa argumentima</p>
<button onclick="myFunction('Harry Potter','Wizard')">Klikni za Harry Potter</button>
<button onclick="myFunction('Bob','Builder')">Klikni za Bob</button>
<script>
function myFunction(name,job)
{
alert("Welcome " + name + ", the " + job);
}
</script>

</body>
</html>
Promjenjive deklarisane (korištenjem var) u javascript funkciji postaju LOKALNE i može im se pristupiti samo iz te funkcije.
Možeš imati lokalne promjenjive s istim imenom u različitim funkcijama, zato što lokalne promjenjive prepoznaje samo funkcija u kojoj su deklarisane.
Lokalke promjenjive su izbrisane kada se funkcija izvrši.

6. Globalne JavaScript varijable

Varijable deklarisane van funkcije, postaju GLOBALNE , i sve skripte i funkcije na toj stranici mogu joj pristupiti.
 
7. Životni ciklus JavaScript varijabli  

8. Dodjela vrijednosti nedefinisanim JavaScript promjenjivim


Životni ciklus Javascript promjenjivih počinje kada su one deklarisane.
Lokalne varijable su izbrisane kada se izvrši funkcija.
Globalne promjenjive su izbrisane kada zatvoriš web stranicu.

 
Ako dodijeliš vrijednost promjenjivoj koja još nije deklarisana, promjenjiva će automatski biti deklarisana kao GLOBALNA promjenjiva.
Ova rečenica:
imeAuta="Volvo";
će deklarisati promjenjivu imeauta kao globalnu promjenjivu, čak ako je izvršena u funkciji.

 <<Povratak na naslovnu