Načrtovanje in razvoj spletnih aplikacij

Funkcije v JavaScriptu

V javaScript funkcijo definiramo z rezervirano besedo function. Običajno ima funkcija ime, lahko pa je tudi brez njega. Imena morebitnih parametrov naštejemo v oklepaju takoj za imenom funkcije (ločimo jih z vejico). V zavitih oklepajih napišemo stavke, ki se morajo izvršiti, ko bomo funkcijo poklicali.

function ime(parametri) {
   ... stavki ...
}

Tako definirano funkcijo pokličemo z uporabo operatorja (). Pred oklepajem napišemo ime funkcije, ki jo želimo poklicati, v oklepaju pa naštejemo vrednosti, ki jih želimo posredovati funkciji. Te vrednosti se priredijo parametrom, ki smo jih našteli pri definiciji funkcije.

ime(vrednosti)

Oglejmo si primer funkcije brez parametrov:

<p id="primer"></p>
<script>
   // definicija funkcije
   function pozdrav() {
      document.getElementById("primer").innerHTML = "Pozdravljeni!";
   }
   // klic funkcije
   pozdrav();
</script>

Oglejmo si primer funkcije z uporabo parametra:

<p id="primer"></p>
<script>
   // definicija funkcije
   function pozdrav(ime) {
      document.getElementById("primer").innerHTML = "Pozdravljen " + ime;
   }
   // klic funkcije
   pozdrav(ime);
</script>

return

Kadar želimo, da funkcija vrne neko vrednost, uprabimo stavek return. Vrednost je lahko število, niz, objekt..., napišemo pa jo takoj za besedo return. Ko vrednost vrnemo, se izvajanje funkcije prekine, program pa se nadaljuje tam, od koder smo funkcijo poklicali.

Če od funkcije pričakujemo, da vrne neko vrednost, mora biti njen zadnji stavek vedno stavek return.

Poglejmo si primer funkcije, ki bo izračunala vsoto števk:

<p id="primer"></p>
<script>
   function izracun() {
      return 5 + 10;
   }
   // klic funkcije
   document.getElementById("primer").innerHTML = "Sesštevek je: " + izracun();
</script>

Kadar v funkciji deklariramo novo spremenljivko, je zelo pomembno, ali uporabimo rezervirano besedo var ali ne. Deklaracija nove spremenljivke z rezervirano besedo varustvari novo lokalno spremenljivko (vidimo jo samo znotraj funkcije), medtem ko deklaracija nove spremenljivke brez rezervirane besede var ustvari novo globalno spremenljivko (vidimo jo povsod, tudi v drugih funkcijah).

Pri uporabi globalnih spremenljivk moramo biti zelo pazljivi, saj to pogosto pripelje do napak, ki jih je zelo težko odkriti.


Poglejmo si primer funkcije, v kateri bomo uporabili spremenljivke:

<p id="primer"></p>
<script>
   function izracun(x,y) {
      var vsota = x + y;   
      return vsota;
   }
   // klic funkcije
   document.getElementById("primer").innerHTML = "Sesštevek je: " + izracun(5,10);
</script>

Stavek return lahko uporabimo tudi nekje v sredini funkcije, a v tem primeru ga uporabimo v telesu pogojnega stavka, kar pomeni: če je pogoj izpolnjen, vrni vrednost in končaj izvajanje funkcije, sicer pa nadaljuj z naslednjim stavkom.

V funkciji imamo lahko tudi več stavkov return, ki lahko vračajo tudi vrednosti različnega tipa.

Stavek return lahko uporabimo tudi v funkciji, ki ne vrača nobenega rezultata. V tem primeru za besedo return ne napišemo nobene vrednosti. Takšna uporaba stavka return je smiselna samo nekje v sredini funkcije, če želimo ob določenem pogoju prekiniti njeno izvajanje.