You are on page 1of 8

Leksička struktura

U ovoj lekciji naučićemo osnove sintakse koja se primenjuje u JavaScript jeziku. Za razliku
od nižih programskih jezika, skript jezici obično ne podrazumevaju veliku strogost u sintaksi
i konvencijama. To je zato što niži jezici (jezici na kojima se izvršavaju sami programi),
služe za komunikaciju između korisnika i računara, dok skript jezici služe za komunikaciju
između korisnika i programa. Najniži nivo sintakse nekog programskog jezika naziva se
leksičkom strukturom i zato ćemo ovde utvrditi elementarna pravila kojih se treba
pridržavati prilikom pisanja JavaScript koda.

Kada je reč o JavaScriptu, već smo pomenuli da je to derivat programskog jezika C – što
znači da je i veći deo sintakse preuzet odatle.

JavaScript programi se sastoje od naredbi koje su grupisane u određeni blok. Ove naredbe
unutar JavaScript programa govore interpreteru da izvrši jednu ili više akcija. JavaScript
naredbe mogu da budu proste ili složene, kao i u drugim programskim jezicima. Jedna
naredba u programu se sastoji od skupa operatora, simbola i identifikatora, koji su grupisani
kako bi zajedno kreirali entitet razumljiv JavaScript interpreteru.

Pravila za pisanje identifikatora

Identifikatori su nazivi kojima imenujemo promenljive, funkcije ili navodimo labele o kojima
će biti reči u sledećim lekcijama. Za sada nam je važno da znamo da postoje pravila kojih se
moramo pridržavati da bismo pravilno definisali identifikator. Pravila za formiraje ispravnih
naziva za identifikatore su u JavaSvriptu ista kao u Javi. Prvi znak mora biti:

• slovo,
• donja crta (_),
• ili znak dolar ($).

Svaki sledeći znak može biti slovo, donja crta, znak dolar, ili broj. Važno je zapamtiti da broj
ne sme biti na prvom mestu. Evo nekoliko primera ispravnih identifikatora, koje možemo
koristiti, recimo, za definisanje nove promenljive:

• x,
• person,
• person1,
• person_1,
• _person,
• $person.

Copyright © Link group


Linije (izjave)

Često pravilo programske sintakse je da svaka linija koda mora biti završena oznakom ;.
Ovo pravilo samo delimično važi i za JavaScript. Zapravo, u JavaScriptu završavanje linije
tačka zarezom nije obavezno, već je opciono, i njeno nepostojanje neće izazvati grešku u
pretraživaču, ali je ova programerska konvencija toliko jaka da je veoma teško videti
JavaScript bez tačke zareza na kraju linije.

var x=1;

Takođe, ukoliko želimo da navedemo više naredbi u jednoj liniji koda, moramo ih odvojiti
znakom ; .

<script>document.write('Text1'); document.write('Text2')</script>

Ključne reči se koriste da bismo definisali neku aktivnost koju je u tom trenutku potrebno
preduzeti. Ključna reč var govori pretraživaču da je potrebno da kreira novu promenljivu.
Naziv promenljive je potrebno da se definiše samo prilikom deklaracije promenljive. Svaki
sledeći put kada nam je potrebna definisana promenljiva, pozivamo je isključivo tako što
navodimo sam naziv promenljive, bez bilo kakve ključne reči ispred:

var x=1;
document.write(x);

Kao što se može videti na ovom primeru, najpre smo definisali promenljivu x tako što smo
ispred nje napisali ključnu reč var. Iskoristili smo priliku u istoj liniji koda i da joj dodelimo
vrednost 1, iako smo to mogli uraditi i na sledeći način:

var x;
x = 1;
document.write(x);

Nakon definisanja promenljive koristimo je tao što jednostavno navodimo naziv


promenljive; dakle, ne navodimo ključnu reč var. Obratite pažnju na to da ključnu reč var
koristimo prilikom definisanja promenljive x; međutim, toj promenljivoj i dalje nismo
dodelili vrednost. Jasno je da promenljive ili varijable imaju svrhu da čuvaju neki sadržaj ili
vrednost. Da bismo nekoj promenljivoj dodelili vrednost, koristimo operator dodele,
odnosno znak jednakosti nakon kojeg navodimo literal. Literal je sama vrednost i za
njihovo pisanje postoje pravila:

• broj može biti zapisan kao celobrojna vrednost -> 10 ili kao decimalni zapis 10.123;

• tekst se piše unutar jednostrukih -> 'Simple text' ili dvostrukih navodnika -> "Simple
text";

• fiksnu vrednost mogu reprezentovati i izrazi -> 10+5.

Copyright © Link group


Napomena

Možemo definisati više varijabli u jednoj izjavi. Izjavu započinjemo ključnom rečju var, a
zatim navodimo promenljive odvojene zarezima:

var x = 5, y = 10, z = 20;

Ako se pitate zašto bismo uopšte deklarisali neku varijablu ako već možemo da je
upotrebljavamo i bez deklaracije, jedan od odgovora je da znamo da će nam određena
varijabla biti potrebna u instrukcijama koje ćemo izvršavati, ali još ne znamo kojim će
vrednostima rukovati.

Prilikom deklaracije promenljive, ne moramo koristiti jednu vrednost, već joj možemo
dodeliti i rezultat celog izraza. Npr:

var x = 2+3;

Više o opcionom znaku ;

Kod koji pišete u JavaScriptu vidljiv je na veb strani i zato je dobro ostaviti što pedantniji
trag svog rada, tako da se završavanje linija tačkom i zarezom preporučuje.

U JavaScriptu, kao i u većini drugih programskih jezika, postoje pravila kada ne smemo
stavljati tačku zarez na kraj naredbe. Tačku zarez nikako ne bi trebalo stavljati u petljama i
uslovnim grananjima. Ovo pravilo je uvedeno iz razloga što se prilikom definisanja uslova i
petlji podrazumeva da će sadržati određene instrukcije koje će izvršavati. Kada definišete
uslov, podrazumeva se da ćete definisati na koje naredbe će se odnositi. Uslov nam, sam po
sebi, ništa ne znači ako ne sadrži naredbe na koje se odnosi. Na primer, ovo je logički
neispravna naredba:

if(x==2);
document.write(x);

Ova naredba će se izvršiti, ali nam njeno definisanje ništa ne uslovljava. Odnosno, ne sadrži
blok naredbi koje će se izvršiti ako je uslov zadovoljen, odnosno ako uslov nije zadovoljen.
Detaljnije o uslovima i grananjima govorićemo u posebnoj lekciji, gde ćemo naučiti kako
možemo ispravno da definišemo uslov i naredbe unutar njega. Za sada je dovoljno da
znamo da tačku zarez na bi trebalo stavljati na kraj if() naredbe.

Blokovi

Kada na strani postoji JavaScript kod, pretraživač prolazi kroz njega i startuje jednu po
jednu njegovu liniju. Sam pojam JavaScript koda podrazumeva sekvencu JavaScript linija u
nekom JavaScript bloku. Ali šta bi onda bio blok? U tom slučaju, blok bi bio bilo kakva
neprekidna sekvenca JavaScript linija. S tim što, za razliku od kompletnog koda, blok može
činiti jedna ili nekoliko JavaScript linija, koje su takođe oivičene JavaScriptom.

Copyright © Link group


Npr., ako bismo imali sledeći kod:

var a=1;
var b=2;
var c=a+b;
document.write(c);

mogli bismo jednostavno liniju 3 i 4 prethodnog koda da proglasimo blokom koji izračunava
i emituje vrednost c.

Da bi i računar mogao neki kod da registruje kao poseban blok, potrebno je oivičiti ga
vitičastim zagradama.

{
//ovo je jedan blok
}

Blok koda iz prethodnog primera, osim prezentacione, nema nikakvu drugu funkciju, jer će
kod, unutar bloka, biti uvek izvršen.

Da bi blok imao bilo kakvu suštinu unutar programa, potrebno je da izvršavanje njegove
sadržine bude uslovno.

//uslov
{
//ovo je jedan blok
}

O tome kako se definiše uslov i šta bi se moglo naći u bloku koda govorićemo u narednim
lekcijama. Za sada je potrebno znati šta su blokovi koda i kako se označavaju.

Case sensitivity

JavaScript je takođe i case sensitive programski jezik, što znači da će drugačije tretirati
elemente ispisane malim i velikim slovom:

var A=10;

nije isto što i

var a=10;

Takođe morate voditi računa prilikom pozivanja nekih ključnih reči da se izvrše. Na primer,
if uslov nije isto što i IF. Ukoliko pogrešno navedete naziv ključne reči, naredba se neće
izvršiti onako kako vi želite i doći će do greške. U ovom slučaju JavaScript neće prepoznati
da je u pitanju ključna reč, koja se ponaša na određeni način, samim tim instrukcije će se
izvršavati drugačije. Sve ključne reči se pišu malim slovima. Izuzetak su promenljive koje vi
definišete, takozvane korisnički definisane promenljive. Prilikom definisanja promenljivih
imate slobodu kombinovanja velikih i malih slova onako kako vi želite. Samo je bitno da
prilikom pozivanja definisane promenljive navedete njen identičan naziv. Na primer:

Copyright © Link group


var HoLa="Hola";
document.write(HoLa);

Kao što možete da zaključite, u JavaScript jeziku sve je case sensitive, počevši od
promenljivih, preko operatora, pa do naziva funkcija.

Komentarisanje koda

Ako želimo da neki sadržaj bude zapamćen u izvornom kodu i pri tom nećemo da taj sadržaj
ima uticaj na izvršenje programa, pribegavamo komentarisanju koda. Komenatri
omogućavaju da kod bude pregledniji i razumljiviji. Ukoliko definišemo kod u jednom
trenutku sa naredbama za izvršavanje očiglednih instrukcija, možda nam same instrukcije
neće delovati tako očigledno sledeći put kada budemo gledali kod, naročito ako protekne
dosta vremena od pisanja koda do njegovog ponovnog posmatranja. Zato je preporučljivo
komentarisati linije koda, jer mi komentarima, u stvari, možemo objašnjavati čemu koja
instrukcija unutar blok naredbe služi. Komentari su veoma korisni za objašnjavanje stvari
koje su drugim ljudima nerazumljive. Kod je u JavaScriptu moguće komentarisati kao jednu
liniju koda ili čitav blok naredbi zajedno, što ćemo videti na konkretnom primeru u nastavku
lekcije.

Ne postoji programski jezik u kome opcija komentarisanja koda ne postoji, pa tako izuzetak
nije ni JavaScript.

Postoji mnogo slučajeva koji prezentuju praktičnu potrebu za komentarima nad kodom.

• Vođenje beležaka nad razvojem koda. Karakteristika velikih kodova je da se u njima


možemo lako „izgubiti”. Zato uvek treba komentarisati logičke celine koda kako
bismo u svakom trenutku imali podsetnik o tome koji deo koda čemu služi.
• Dobro komentarisan kod olakšava rad programeru koji nasleđuje taj kod. Zato je,
prilikom rada u timu, više nego preporučljivo koristiti se komentarima u kodu.
• Lako i brzo baratanje funkcionalnošću koda: u smislu da možemo neke delove koda
da isključimo (pretvorivši ih u komentar) ili uključimo (skidanjem komentara). Ako
naš program sadrži 100 linija koda, koje bismo na trenutak želeli da isključimo (ali
ne i obrišemo), najjednostavniji način je – komentarisati ih.

Komentarisanje jedne linije koda

Ukoliko želimo da dodamo komentar koji će se nalaziti samo u jednoj liniji koda, možemo na
početku teksta postaviti oznaku za komentar //

//ovo je komentar koda


var a=1;

Kada bismo ovo startovali, program bi se izvršio bez problema i dodelio promenljivoj a
vrednost. Međutim, linija koda koju smo obeležili kao kometar neće biti prikazana na strani,
ali je možemo videti kada otvorimo Page Source.

Komentar je moguće dodati i nakon linije koda, npr:

document.write("Hello"); //my comment

Copyright © Link group


Treba ipak obratiti pažnju da je, iako nevidljiv za interpreter, lako vidljiv za korisnika (kao i
kompletan JavaScript kod), pa treba izbegavati privatne komentare ili podsetnik kada kod
pređe u produkciono okruženje.

Komentarisanje bloka koda

Ukoliko želimo da komentarišemo više redova (blok), možemo:


komentarisati svaki red posebno

//prvi red kometara


//drugi red komentara

ili napraviti tzv. blok komentara

/*
ovo je blok
komentara
*/

pri čemu oznaka /* otvara blok komentara i oznaka */ zatvara blok komentara. Svaki tekst
koji se nalazi između ove dve oznake biće tretiran kao komentar.

Prazan prostor

Treba znati da linije JavaScript koda nisu analogne linijama HTML koda, odnosno – da to što
smo, jednostavno, prešli u novi red JavaScripta ne znači da automatski prelazimo i u novi
red HTML-a (odnosno da će na veb strani biti izvršen prelazak u novi red).
Za kod:

document.write("Hello!");
document.write("Hello again!");

rezultat na veb strani će biti:

Hello!Hello again!

što, ukoliko smo želeli da rezultat bude analogan linijama koda, ne bi bilo validno. Da bismo
dobili rezultat u dva reda, potrebno je da u prosleđenim stringovima (znakovni niz)
prosledimo i adekvatan HTML tag za novi red.

document.write("Hello!<br>");
document.write("Hello again!");

Ovakav kod bi, na veb strani, dao adekvatan rezultat:

Hello!
Hello again!

Međutim, pogledajmo isti ovaj primer, sa tom razlikom što će nam vrednosti koje su sada
navedene pod navodnicima biti smeštene u neke promenljive.

Copyright © Link group


var h1 = "Hello!";
var h2 = "Hello again!";
document.write(h1);
document.write(h2);

Rezultat na strani je: Hello!Hello again!

Da ne bismo dva puta upotrebljavali funkciju write, možemo izvršiti spajanje ili
konkatenaciju stringova koji su smešteni u promenljivama h1 i h2. Ovakvo spajanje se u
JavaScriptu (kao i u Javi) vrši uz pomoć operatora + kao što je to prikazano na primeru:

var h1 = "Hello!";
var h2 = "Hello again!";
document.write(h1 + h2);

Rezultat na strani je nepromenjen. Međutim, nedostaje razmak između prvog i drugog


teksta. Kako nije primer dobre prakse dodavati razmak u samu promenljivu, možemo
izvršiti još jednu konkatenaciju na sledeći način:

var h1 = "Hello!";
var h2 = "Hello again";
document.write(h1 + " " + h2);

Pitanje:

Blok komentara u JavaScriptu postavljamo između oznaka:

a) /* */
b) // //
c) <!-- -->
d) */ /*

Objašnjenje:

Ukoliko želimo da komentarišemo više redova (blok), možemo:


komentarisati svaki red posebno

//prvi red kometara


//drugi red komentara

ili napraviti tzv. blok komentara

/*
ovo je blok
komentara
*/
pri čemu oznaka /* otvara blok komentara i oznaka */ zatvara blok komentara. Svaki
tekst koji se nalazi između ove dve oznake biće tretiran kao komentar.

Copyright © Link group


Rezime

• Skript jezici obično ne podrazumevaju veliku strogost u sintaksi i konvencijama.

• JavaScript programi se sastoje od naredbi koje su grupisane u određeni blok.

• Identifikatori su nazivi kojima imenujemo promenljive, funkcije ili navodimo

• labele i za njihovo pisanje postoje utvrđena pravila.

• U JavaScriptu je preporučljivo izjave završavati oznakom ; (tačka zarez).

• Ključna reč var govori pretraživaču da je potrebno da kreira novu promenljivu.

• JavaScript je takođe i case sensitive programski jezik.

• Ako želimo da neki sadržaj bude zapamćen u izvornom kodu i pri tom nećemo da taj
sadržaj ima uticaj na izvršenje programa, pribegavamo komentarisanju koda.

Copyright © Link group

You might also like