E-gradiva > Računalništvo > Programiranje > Načrtovanje in razvoj spletnih aplikacij > Javascript > Funkcije

Prijava

Funkcije

Če želimo napisati program z veliko vrsticami kode, ga moramo razbiti na manjše in enostavne dele, ki jih lahko razumemo in tudi ustrezno stestiramo. Nato te dele počasi združujemo.

 

Funkcije

Če v programu na različnih mestih potrebujemo zaporedje enakih ali podobnih stavkov, lahko te stavke zapišemo v funkcijo, na tistih mestih v programu, kjer te stavke potrebujemo, pa pokličemo to funkcijo. Funkcija  torej združuje skupino stavkov, ki ji damo skupno ime. Tako skupino lahko po potrebi tudi večkrat pokličemo. Funkcije so osnovni sestavni bloki večine programov v JavaScript-u. Preden neko funkcijo pokličemo, jo moramo seveda tvoriti.

 

Funkcijo definiramo s stavkom, ki funkcijo opiše: podati moramo njeno ime, morebitne vrednosti, ki jih funkcija lahko sprejme (pravimo jim argumenti) in stavke, ki jih funkcija vsebuje. Stavkom funkcije pravimo tudi telo funkcije.

 

   function imeFunkcije(argument1,argument2,...) 

                        { stavki; }

 

Kadar v funkciji deklariramo novo spremenljivko, je zelo pomembno, ali uporabimo rezervirano besedo var ali ne. Deklaracija nove spremenljivke z rezervirano besedo var ustvari 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.

 

Napaka

Če pri definiciji parametrov funkcije uporabimo razervirano besedo var, Javascript interpreter javi napako. Skripta se ne izvede do konca.

 

Stavek return

Stavek return uporabljamo v funkcijah, kadar želimo, da funkcija vrne neko vrednost. To vrednost (število, niz, objekt ...) napišemo 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. 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.

 

Primer:

            function predznak(n)

                        {

                               if (n > 0) return 1;

                               if (n < 0) return -1;

                               return 0;

                       }

 

Če imamo v funkciji več stavkov return, ni nujno, da vračajo vrednosti enakega tipa. Kot primer take funkcije si oglejmo funkcijo, ki med vsemi celimi števili od a do b poišče najmanjše število, ki je deljivo s 17 ali 23. Če takega števila ne najde, vrne vrednost false.

 

Primer:

 

function poisci(a, b)

{

   for (var i = a; i <= b; ++i) {

      if (i % 17 == 0 || i % 23 == 0) return i;

   }

   return false;

}

 

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 (od določenem pogoju) prekiniti njeno izvajanje.

 

<!DOCTYPEhtml PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns = "http://www.w3.org/1999/xhtml">

  <head>

     <title>Primer uporabe funkcije z izracunom kvadrata celih števil</title>

     <script type = "text/javascript">

     <!--


        document.writeln( "<h1>Kvadrat števil od 1 do 10</h1>" );    

          // Izracun kvadratov števil od 1 do 10

         for ( var x = 1; x <= 10; ++x )

          document.writeln( " Kvadrat od " + x + " je " + kvadrat( x ) + "<br />" );

          // Telo funkcije kvadrat se izvede samo ob klicu funkcije 

          // definicija funkcije kvadrat

         function kvadrat( y )

            { return y * y;}

 


          //  -->

     </script>

  </head>

  <body>

  </body>

</html>

 

 

Primer funkcije za izračun kvadrata celega števila:

 

<form name="obrazec1">

              <table>

               <tr>

                       <td>Ime:  </td>

                       <td><input onkeyup="enako()" type="text" name="lastnost"></td>

               </tr>

               <tr>

                       <td>Priimek: </td>

                       <td><input onkeyup="enako()" type="text" name="lastnost"></td>

               </tr>

               <tr>

                       <td>Naslov: </td>

                       <td><input onkeyup="enako()" type="text" name="lastnost"></td>

               </tr>

               <tr>

                       <td>E-pošta </td>

                       <td><input onkeyup="enako()" type="text" name="lastnost"></td>

               </tr>

           </table>

         </form>

 


<form name="obrazec2">

                <table>

               <tr>

                       <td>Ime: </td>

                       <td><input type="text" name="lastnost"></td>

               </tr>

               <tr>

                       <td>Priimek: </td>

                       <td><input type="text" name="lastnost"></td>

               </tr>

               <tr>

                       <td>Naslov: </td>

                       <td><input type="text" name="lastnost"></td>

               </tr>

               <tr>

                       <td>E-pošta: </td>

                       <td><input type="text" name="lastnost"></td>

               </tr>

               </table>

            </form>

     </body>

</html>