Uvod u JavaScript
Uvod u JavaScript
Sr
đ
an Panti
ć
2
Uvod u JavaScript
Šta je to JavaScript?
Javascript je novi skript jezik za koriš
ć
enje u programiranju WWW prezentacija. Uveden je od
strane
Netscapea
u
Netscape Navigator
, po
č
evši od verzije 2.0, uporedo sa uvo
đ
enjem podrške za Javu.
Brzo je postigao veliku popularnost i raširenost, toliku da je i sam
Microsoft
pored uvo
đ
enja svog skript
jezika -
Visual Basic Script
, koji je kompatibilan sa
Visual Basicom
i
Visual Basic for Aplication
, uveo
svoju verziju JavaScripta - JScript. Jedini razlog zašto
Microsoft
nije licencirao
JavaScript
kao takav
jeste što nije dobio licencu.
Javascript se uklju
č
uje u sadržaj HTML dokumenta i omogu
ć
ava unapre
đ
enje HTML strana sa
interesantnim efektima. Na primer, koriš
ć
enjem JavaScripta je mogu
ć
e odgovarati na akcije korisnika u
samom WWW
č
ita
č
u. Ono što je bitno zapamtiti jeste da JavaScript program može da se izvrašava
samo u okviru WWW
č
ita
č
a i nigde drugde.
Najbolji na
č
in za upoznavanje sa jednim Internet orjentisanim jezikom, kakav JavaScript jeste, je
baš na Internetu. Veliki broj primera, dokumentacije i svega drugog vezanog za JavaScript možete na
ć
i
na Gamelanu, WWW serveru posve
ć
enom Javi i JavaScriptu
,http://www.gamelan.com
. Izvornu
dokumentaciju samog
Netscapea
možete na
ć
i na
http://home.netscape.com
.
U ovom dodatku opisujemo JavaScript verziju
1
.
1
, koja je podržana od strane
Netscape Navigatora
3.0
i kasnijih. Microsoftova verzija JScripta je kompatibilna sa JavaScriptom
1
.0 i na razlike izme
đ
u
njih
ć
emo ukazati u tekstu.
Koje su razlike izme
đ
u Jave i JavaScripta?
Bez obzira na nazive, Java i JavaScript su razli
č
iti jezici. Oni predstavljaju dve razli
č
ite tehnike
programiranja na Internetu. Java je programski jezik. JavaScript je (kako mu i samo ime kaže) skript
jezik. Razlika je u tome što sa Javom možete da kreirate prave programe, koji mogu da se izvršavaju
potpuno nezavisno od WWW
č
ita
č
a (poput programa napisanih sa C++ ), ili Java aplete koje možete da
pozivate iz HTML dokumenta i koji se dovla
č
e preko mreže i onda izvršavaju u okviru vašeg WWW
č
ita
č
a.
Ipak, naj
č
eš
ć
e vam za unapre
đ
enje HTML dokumenata zaista ne treba “teška artiljerija” poput Jave,
jer želite da napravite neki efekat brzo, ne zamaraju
ć
i se pravim programiranjem. Tu dolazimo na
JavaScript, koji je jednostavan za razumevanje i upotrebu. JavaScript jeste zasnovan na Javi, ali postoje
i brojne razlike.
Pore
đ
enje Jave i JavaScripta
Java
JavaScript
Prevodi se na serveru pre izvršavanja u klijentu.
Interpretira ga WWW
č
ita
č
- ne prevodi se.
Objektno-orijentisan jezik. Postoji podrška za
objekte, klase, nasle
đ
ivanje...
Objektno-baziran jezik. Postoje ugra
đ
eni objekti.
Apleti su odvojeni od HTML dokumenata (iz
kojih se pozivaju)
Integrisano u HTML dokument
Promenljive se moraju deklarisati (jaka tipizacija)
Promenljive se ne moraju deklarisati (slaba
tipizacija)
Stati
č
ko povezivanje: reference objekata moraju
postojati u vreme prevo
đ
enja.
Dinami
č
ko povezivanje: reference objekata se
proveravaju u vreme izvršavanja.

Uvod u JavaScript
Sr
đ
an Panti
ć
4
<TITLE>
Jednostavan JavaScript
</TITLE>
</HEAD>
<BODY>
Tekst prikazan na uobi
č
ajen na
č
in.
<BR>
<SCRIPT LANGUAGE=”JavaScript”>
<!-- Krije kod od starih WWW
č
ita
č
a
document.write(“<B>Tekst prikazan iz JavaScripta.</B>”)
// Kraj skrivanja koda -->
</SCRIPT>
</BODY>
</HTML>
Komentar u sam skript stavljamo iza dvostruke kose crte (//), ili ih zatvaramo izme
đ
u “/*” i “*/”.
Kada WWW
č
ita
č
prikazuje HTML dokument on ide redom i kada nai
đ
e na skript on
ć
e ga i
izvršiti ako ima podršku za njega.
U gornjem primeru skript samo ispisuje u teku
ć
i dokument poruku. Objekat
document
ovde
se odnosi na teku
ć
i dokument, a metodom
write
ispisujemo sam tekst.
Pozivanje eksternih skriptova
Uklju
č
ivanje JavaScript programa direktno u HTML dokumenta je dobro rešenje za male skriptove
i jednostavne HTML dokumente, ali lako može da izmakne kontroli kada je re
č
o velikim i
kompleksnim skriptovima.
Zato je u takvim slu
č
ajevima najpogodnije rešenje
č
uvanje JavaScript programa u posebnom fajlu,
odvojenom od HTML dokumenta i njegovom pozivanju od strane HTML dokumenta za koji je skript
potreban. Na taj na
č
in isti skript možemo da koristimo u raznim HTML dokumentima, bez
optere
ć
ivanja svih njih istim kodom.
Uvod u JavaScript
Sr
đ
an Panti
ć
5
Da bi to omogu
ć
ili, uveden je atribut SCR za SCRIPT element. On je važe
ć
i od verzije 3.0
Netscape Navigatora. Fajl koji je naveden kao mesto u kome se nalazi JavaScript program se obavezno
mora završavati sa ekstenzijom “.js”.
<SCRIPT LANGUAGE="JavaScript" SRC="http://www.kombib.com/skript.js">
</SCRIPT>
Ako JavaScript program pozivate iz spoljnog fajla, najbolje mesto za SCRIPT element je u
zaglavlju HTML dokumenta, kako bi se u
č
itao odmah po preuzimanju HTML dokumenta.
Ova tehnika zahteva dodatni pristup HTTP serveru i dodatni njegov odgovor za svaki uklju
č
eni
spoljni fajl, tako da predstavlja loše rešenje, ako se HTTP server nalazi na sporom linku ka Internetu i
ako je veoma optere
ć
en.
Tipovi podataka
JavaScript prepoznaje slede
ć
e osnovne tipove podataka:
•
numbers
, celi i realni brojevi,
•
booleans
, mogu uzeti vrednost
true
ili
false
,
•
strings
, sadrže niz karaktera,
•
null
, koji predstavlja rezervisanu klju
č
nu re
č
za null objekt i ne predstavlja zapravo tip podatka.
U JavaScriptu imena promenljivih se sastoje od sekvenci slova (a-z, A-Z), cifara (0-9) i donje crte
(_). JavaScript razlikuje velika i mala slova.
U JavaScriptu ne moramo eksplicitno da deklarišemo promenljivu (mada je to dobra praksa) -
JavaScript je slabo tipiziran jezik. Tipovi podataka
ć
e biti automatski konvertovani zavisno od mesta
njihove upotrebe u programu. Tako na primer možemo definisati i inicijalizovati slede
ć
u promenljivu
var promenljiva=42
a kasnije je možemo predefinisati, dodeljuju
ć
i joj niz karaktera, na primer
promenljiva=”Odgovor za sve tajne svemira je...”
Dobra je praksa definisati promenljivu sa
var
, kada je uvodimo.
Specijalna klju
č
na re
č
null
ukazuje da je promenljivoj dodeljena null vrednost. To ne znali da je
promenljiva nedefinisana! Promenljiva je nedefinisana kada joj nije dodeljena nikakva vrednost i tada
je ne možemo dodeliti drugoj promenljivoj ili koristiti u izrazima, a da ne dobijemo
run-time
grešku.
Primeri ispravnih promenljivih:
Broj_pogodaka
privremena90
_ime
Celi brojevi
Celi brojevi u JavaScriptu mogu biti predstavljeni u tri osnove: u decimalnom (baza
1
0), u oktalnom
(baza 8) i heksadecimalnom (baza
1
6) formatu.

Uvod u JavaScript
Sr
đ
an Panti
ć
7
•
r
,
carriage return
,
•
,
tab
.
Tako
đ
e je
č
esto neophodno koristiti navodnike unutar niza karaktera. To možete uraditi
koriš
ć
enjem obrnute kose crte. Na primer:
var navod=”<P>Sa radoš
ć
u je
č
itao Tolkinovog ”Gospodara prstenova ”. ”
document.write(navod)
JavaScript izrazi i operatori
Izraz je ma koji, ispravan, skup konstanti, promenljivih, operatora i izraza koji se može dovesti do
jedne vrednosti. Ta vrednost može biti broj (na primer, 7), string (
”Mikrora
č
unari”
) ili logi
č
ka
vrednost ( true ili false).
Operatori koje JavaScript podržava su poznati svima koji su imali prilike da rade u jeziku C ili C++.
To su
•
standardni aritmeti
č
ki operatori
: sabiranje (+), oduzimanje (-), množenje (*), delenje (/), moduo
dva broja (deli
1
5 % 5, vra
ć
a 2), inkrement (x++ i ++x), dekrement (x-- i --x) i unarna negacija (-x
negira vrednost promenljive x).
•
logi
č
ki operatori
: logi
č
ko I ( a && a), logi
č
ko ILI (a || b), logi
č
ka negacija (!a)
•
binarni operatori
: binarni logi
č
ki operatori (I - a & b, ILI - a | b, ekskluzivno ili XOR - a ^ b) i
binarni operatori pomeraja (levi pomeraj -
a << n
, desni pomeraj sa
č
uvanjem znaka -
a >> n
i
desni pomeraj sa punjenjen nulama mesta najve
ć
e težine -
a >>> n
; pomeraj bitova promenljive a
za
n
mesta ulevo ili udesno).
•
operatori pore
đ
enja
: jednako (
a==b
), nije jednako (
a!=b
), ve
ć
e (
a>b
), ve
ć
e ili jednako (
a>=b
),
manje (
a<b
), manje ili jednako (
a<=b
).
•
operatori stringova: konkatenacija, spajanje dva stringa (“ja” + “volim Tanju” nam vra
ć
a string ”ja
volim Tanju”)
Dozvoljeni su i svi oblici skra
ć
enog ispisa operacije i dodele poznati iz jezika C i C++:
•
x+=y, što zna
č
i x=x+y
•
x-=y, što zna
č
i x=x-y
•
x*=y, što zna
č
i x=x*y
•
x/=y, što zna
č
i x=x/y
•
x%=y, što zna
č
i x=x%y
•
x<<=y, što zna
č
i x=x<<y
•
x>>=y, što zna
č
i x=x>>y
•
x>>>=y, što zna
č
i x=x>>>y
•
x&=y, što zna
č
i x=x&y
•
x^=y, što zna
č
i x=x^y
•
x|=y, što zna
č
i x=x|y
Kontrola izvršavanja programa
JavaScript podržava kontrolne strukture poznate ve
ć
ini programera iz drugih jezika, poput:
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti