Izvršavanje JavaScript programa

JavaScript program se na HTML stranici izvršava onako kako web čitač tumači stranicu. Znači, onako kako naredbe dolaze na red, tako se i izvršavaju.

Međutim, ovo nam odgovara samo kad radimo jednostavne programe, u čistom JavaScriptu. U većini slučajeva ćemo koristiti JavaScript da utičemo na HTML stranicu, a treba da imamo u vidu da u trenutku kada web čitač izvršava naredbe, HTML elementi koji dolaze posle tih naredbi, još uvek ne postoje i JavaScript im ne može pristupiti.

Jedno od rešenja je da JavaScript navedemo na kraju stranice, ali možda je bolje da najveći deo programa smestimo unutar funkcija. Funkcije se inače ne izvršavaju odmah, već tek po pozivu.

Funkcije se mogu pozivati putem događaja, što je i najčešći način "aktiviranja" JavaScript programa. Događaji obuhvataju najrazličitija dešavanja u okviru HTML stranice (npr. pomeranje ili klik mišem, događaji tastature i sl). Ako želimo da pokrenemo program tek kada se stranica učita - i za to postoji događaj, kojim možemo pozvati početnu funkciju.

Izvršavanje programa

Obratite pažnju na komentare - tu smo naveli šta se izvršava odmah, a šta po pozivu.


  <!doctype html>
  
  <html>
  
    <head>
      <title>Naslov stranice</title>
      ...
      <script src="fajl.js"></script>
      <script>
        var x = 0;          // izvršiće se odmah - x postaje 0
        function radi()     // funkcija će se izvršiti tek kada bude pozvana
        {
          x++;      // ova naredba će se izvršiti tek kada se funkcija pozove
          console.log("Poziv funkcije");   // u konzoli se ispisuje tekst
        }
        x++;     // ovo se izvršava odmah - u ovom trenutku x postaje 1 (uvećava se za 1)
      </script>
      ...
    </head>
    
    <!-- 
      Ovde smo iskoristili događaj onload u body elementu.
      Kada se cela strana učita, poziva se funkcija radi().
      Tek tada se izvršavaju njene naredbe.
    -->
    <body onload="radi()">
      <h1>Naslov</h1>
      ...
      <script>
        x++;              // ovde opet imamo oznaku script i "slobodne" naredbe  - x postaje 2
        console.log(x);   // x se ispisuje u konzoli
      </script>
      ...
    </body>
    
  </html>
    
Svi elementi sajta Web'n'Study, osim onih za koje je navedeno da su u javnom vlasništvu, vlasništvo su autora i ne smeju se koristiti, u celosti ili delimično bez pismenog odobrenja autora. To uključuje tekstove, slike, ilustracije, animacije, prateći grafički materijal i programski kod.
Ovaj sajt koristi tehnologiju kolačića (cookies). Detaljnije o tome možete pročitati u tekstu o našoj politici privatnosti.