Osnove JavaScript-a

Autor: prof. Milan Popovic, milan.popovic@bbs.edu.yu
  1. Uvod
  2. Umetanje  JavaScript  programa u HTML dokumente
  3. Varijable
    1. Šta su to varijable?
    2. Vrednost varijabli
    3. Konverzija podataka
  4. Literali
    1. Celi brojevi (Integers)
    2. Decimalni brojevi (Floating-Point)
    3. Logički podaci (Boolean)
    4. Tekstualni podaci (String)
    5. Escape (Escaping Literals)
  5. Nizovi (Arrays)
  6. Operatori
    1. Operatori pridruživanja (Assignment Operators)
    2. Operatori poređenja (Comparison Operators
    3. Aritmetički operatori (Arithmetic Operators)
    4. Logički operatori (Logical Operators)
  7. JavaScript objekti
  8. Funkcije
    1. Definsanje funkcije
    2. Pozivanje funkcije
  9. if naredba
  10. Petlje
    1. for petlja
    2. while petlja
  11. Komentari
  12. Dodatak - JavaScript objekti

1. Uvod

JavaScript je jedan jednostavan programski jezik koji se može koristiti u  HTML dokumentima. U ovom tutorijalu prikazane su samo osnovne karakteristike JavaScript jezika. Nisu prikazane sve mogućnosti za programske strukture selekcija i iteracija. Nije prikazana switch naredba, do...while naredba, try..catch naredba. Takodje nije razmatrana AJAX metodologija, kao ni način definisanja korisničkih objekata.  O tome se može naći više informacija na www.w3schools.com 

2. Umetanje JavaScript programa u HTML dokument

Pretraživači (Browsers) prepoznaju JavaScript programe pomoću posebnih <SCRIPT> ... </SCRIPT> tagova koji se mogu pojaviti ili u <HEAD> ili u <BODY> delu HTML dokumeta. Evo jednog prostog primera koji pokazuje mesto gde će biti umetnut JavaScript program:
<HTML>
<HEAD> 
<TITLE>Primer JavaScript programa</TITLE> 
<SCRIPT> 
(JavaScript program može biti smešten ovde)
</SCRIPT> 
</HEAD> 
<BODY>
<SCRIPT> 
(JavaScript program može biti smešten i ovde)
</SCRIPT> 
(ostatak HTML dokumenta biće smešten ovde)
</BODY> 
</HTML>

3. Varijable

3.1. Šta su to varijable?

Varijable su kao memorija. Vi možete kreirati varijable da se u njima pamte vrednosti (podaci). Najbolje je da varijablama dajemo imena koja cemo lako pamtiti i koja će nas podsećani na vrednosti koje su u tim varijablama zapamćene. Na primer, ako želite da napravite program kojim ćete deliti jedan broj sa nekim drugim brojem najbolje je da varijable koje ćete kreirati nazovete deljenik, delioc i kolicnik, a ne recimo broj1, broj2, broj3.

Važno je znati ispravnu sintaksu koja se mora poštovati pri kreiranju imena varijabli:

Primeri ispravno datih imena varijablama su Broj_pogodaka, temperatura99, i _ime.

Kada kreirate (deklarišete) varijablu van neke funkcije, takva varijabla se naziva globalnom varijablom zato što je ona dostupna iz celog HTML dokumenta. Kada se varijabla deklariše unutar neke funkcije, onda se ona naziva lokalnom varijablom i na raspolaganju je samo JavaScript naredbama iz te funkcije. 

Varijable mogu da sadrže sve vrste podataka (vidi naniže, Vrednosti i varijable, odeljak 3.2). Da nekoj varijabli pridružite (zadate) vrednost koristite sledeću notaciju:

deljenik = 8;
delioc = 4;
mojTekst = "Ovu ću poruku koristiti više puta";
poruka = mojTekst;

Recimo da želimo u programu da podelimo deljenik sa deliocem i da rezultat zapamtimo u varijabli količnik.
To ćemo uraditi sledećom naredbom:

kolicnik=deljenik/delioc;

Važno je da pre nego što počnte da pišete program razmislite o njegovoj strukturi (dizajnu). Dobro je da unapred definišete i kreirate varijable koje će biti korišćene u programu. Na primer, ako znate da ćete više puta u programu koristiti jednu te istu tekstualnu poruku, onda je korisno da odmah kreirate varijablu poruka i odmah joj zadate predviđeni tekst. Tako ćete moći da ovu varijablu koristite kad god vam je potrebna bez ponovnog ukucavanja teksta koji ona sadrži, a ako poželite da promenite tekst poruke onda ćete to uraditi samo na jednom mestu -  tamo gde je poruka kreirana (deklarisana).

3.2. Vrednosti i varijable

JavaScript razlikuje sledeće tipove vredosti:

Ovaj relativno mali skup tipova podataka omogućava da napravite mnogo korisnih funkcija u vašim aplikacijama. JavaScript ne pravi posebnu razliku između celih i decimalnih (realnih) brojeva..

3.3. Konverzija podataka

JavaScript je "loosely typed" jezik (slabo vodi računa o tipovima podataka) . To znači da ne morate da specificirate tip podataka koje će varijabla sadržati ( kod jezika kao sto su C, C++, C# uvek morate pri deklaraciji varijable da kažete i kavu vrstu podataka će varijabla moći da sadrži).

Na primer, možete deklarisati jednu varijablu na sledeći način:

var odgovor = 42

A kasnije istoj toj varijabli možete zadati string (tekstualnu) vrednost:

odgovor = "Hvala vam na svemu..."

Zato što je JavaScript "loosely typed"jezik , gornja naredba neće proizvesti grešku (kao što bi bio sličaj u C jezicima). No i pored toga ovo nije primer dobrog programiranja. Bolje je da varijable kreirate tako da sadrže uvek isti vrstu podataka ( brojeve, tekst, logičke podatke i sl.) i da ih konzistentno koristite u programu (da ne mešate tipove podataka u istoj varijabli). To vam može ynatno olakšati testiranje i debagiranje (otklanjanje gresaka) vašeg programa.

U naredbama koje uključuju brojčane i string vrednosti svi podaci se konvertuju u string tip podataka. Na primer, posmatrajmo sledeće naredbe:

x = "Odgovor je " + 42
y = 42 + " je odgovor"

(Ovde će znak + označavati operaciju spajanja dva stringa, a ne sabiranje).

Na primer ako napišete:

poruka = "Pozdrav" + "svima"

...onda će varijabla poruka dobiti vrednsost stringa "Pozdrav svima")

U gonjim naredbama, x će postati "Odgovor jes 42" , a  y "42 je odgovor"

4. Literali

Literali se korste da predstavljaju vrednosti u JavaScript programima. To su fiksne vrednosti, za razliku od varijabli, koje vi bukvalno zadajete u programu. Primeri literala su: 1234, "Ovo je literal" i true.

4.1. Celi brojevi (Integers)

Celi brojevi mogu biti izraženi udekadnoml (baza 10), heksadecimalnom (baza 16), i oktalnom (baza 8) sistemu. U dekadnom sistemu celi broj se prikazuje bez vodećih nula. Ako se na početku pojavi nula, onda se smatra da sledi oktalni broja, a ako se pjavi 0x to označava pojavu heksadecimalnog broja.

Primeri celobrojnih literala su: 42, 0xFFF, and -345.

4.2. Decimalni (Floating-point) brojevi

Decimalan broj može imati sledeće delove: ceo broj, decimalna tačka, ostatak iza decimalne tačke, eksponent Eksponent je slovo "e" ili "E" iza kojeg se nalazi ceo broj sa ili bez znaka.

Primeri decimalnih brojeva su: 3.1415, -3.1E12, .1e12, and 2E-12

4.3. Logički podaci (Boolean)

Logički podaci imaju samo dve vrednosti: true i false.

4.4. Tekstualni podaci (String)

String je literal sa 0 ili više slovnih znakova ograničenih dvostrukim (") ili jednsotrukim  (') navodnicima. Evo nekoliko primera string literala:

Uz uobičajene slovne znake, mogu se koristiti i specijalni znakovi kao u poslednjem primeru goreU sldeećoj tabeli data je lista specijalnih znakova koje možete koristiti JacaScript stringovima.
ZnakZnačenje
\bbackspace
\fform feed
\nnew line
\rcarriage return
\ttab
\\backslash character

4.5. Escape

Za sve slovne znake osim za one prikazane u gornjoj tabeli, kosa crta (backslash) nema nikakvo značeneje osim za navodnike i samu kosu crtu.

Moguće je ubaciti navodnik kao deo stringa ako se ispred njega stavi kosa crta.To se naziva escaping (zaobilaženje) navodnika. Na primer,

var navod = "On čita roman \"Zlatno runo\" od Borslava Pekića"
document.write(navod)

Rezltat ovog programskog segmenta biće:

On čita roman "Zlatno runo" od Borslava Pekića

A ako želite da se kosa crta nađe u string,onda takođe koristite kosu crtu kao escape znak. Na primer ako želite da nekoj varijabli zadate putanju do datoteke c:\temp onda to yapisujete ovako:

var home = "c:\\temp" 

5. Nizovi (Arrays)

Niz je objekat u kojem može da se memoriše više vrednosti i koji ima više svojstava (properties). Kada deklarišete niz, morate da mu deklarišete naziv, a zatim i koliko će vrednosti niz sadržati. Vašno je razumeti da će svaka pojedinačna vredost biti memorisana (smeštena) u po jednom elementu niza, kao i da elemeti startuju od 0. To znači da će prva vrednost u nizu biti smeštena u 0-tom elementu, druga u prvom elementu i tako dalje. Na primer, ako želimo da smestimo 10 vrednsoti in naki niz, onda će elementi niza biti u opsegu od 0 do 9.

Deklaracija niza se vrši na sledeći način:

mojNiz = new Array(10);

Inicijano, svi elementi niza dobijaju vrenost null. Ako želimo da elementima niza zadamo vrednosti onda to radimo naredbama:

mojNiz[0] = 56;
mojNiz[1] = 23;
mojNiz[9] = 44;

Stavljajući u uglaste zagrade [ ] broj elemeta, možemo svakom elementu zadati željenu vrednost. Uočite da u gornjem primeru ne postoji element mojNiz  [10 ], jer se indeksi elemenata kreću od 0 do 9.

U JavaScript programima, međutim, dužina niza se automatski povećava ako yadamo vrednos nekom elementu niza koji je veći od trenutne dužine niza. U sledećem primeru najpre ćemo deklarisati jedan niz sa početnom dužinom 0, a zatim ćemo dodeliti vredost elementu 99. To će automatski povećati dužinu niza na 100 elemenata.

boja = new Array();
boja[99] = "blue";

Pošto su nizovi objekti, oni imaju niz svojstava (properties) koje su unapred definisana.Na primer, možete pronaći koliko niz mojNiz ima elemenatan i zapamtiti tu vrednost u vaijabli brojElemenata pomoću naredbe:

brojElemenata = mojNiz.length;

6. Operatori

JavaScript ima više operatora za razne aritmetičke, logičke i string operacije. Mi ćemo ovde navesti samo najznačajnije operatore za pridruživanje, kopmaraciju, kao i aritmetičke i logičke operatore.

6.1. Operatori pridruživanja (Assignment operators)

Operatorom pridruživanja zadaje se vrednost varijabli sa leve strane od operatora  (= ), tako što se izračunava vrednsot izraza sa desne strane operatora 

Na primer:

x  =  y + 10;

označava naredbu kojom će se najpre izračunati zbir vrednosti koju trentno sadrži varijabla y i broja 10, će se tako izračunata vrednost memorisati u varijabli x.

Moguće je skraćeno pisanje za naredbe pridruživanja kako pokazuje sledeća tabela:

Skraćeno  Značenje
x += y x = x + y
x -= y x = x - y
x *= y x = x * y
x /= y x = x / y
x++ x = x + 1
x-- x = x - 1

Uočite da znak  = sovde označava pridrućivanje i da to nije matematički znak za jednako. Ako je  x jednako 5 a  y jednako  7, onda bi x = x + y bio pogrešan matematički  izraz,  ali u JavaScript programu je potpuno legitiman. Njime se varijabli x dodeljuje vrednost   x + y (12 u ovom slučaju, 5+7).

6.2. Operatori poređenja (Comparison operators)

Operatorima poređenja se vrši upoređivanje dve vrednosti i na osnovu rezultata poređenja dobija logička vrednost true ili false u zavisnoti da li je poređenje tačno ili netačno. Vrednosti (operandi) koje se porede mogu biti brojne (numeričke) ili string vrednosti.. Kada se porede stringovi, poređenje se vrši na osnovu standardng leksikografskog redoslede slova. Operatori poređenja opisani su u sledećoj tabeli.

Operator Opis Primer
Jednako (= =) Daje logičku vrednost true ako su operandi jednaki. x == y je true ako je x jednako y
Nije jednako (!=) Daje logičku vrednost true ako operandi nisu jednaki. x != y je true ako x nije jednako y
Veće od (>) Daje true ako je levi operand veći od desnog x > y je true ako je x veće od y
Veće ili jednako (>=) Daje true ako je levi operand veći ili jednak desnom x >= y je true ako je x veće ili jednako  y
Manje od (<) Daje true ako je levi operand manji od desnog x < y je true ako je x manje od y
Less than or equal (<=) Daje true ako je levi operand manji ili jednak desnom x <= y je true ako je x manje ili jednako y

6.3. Aritmetički operatori (Arithmetic Operators)

Aritmetički operatori za operande imaju numeričke vrednosti (literale ili varijable) a kao rezultat se dobija jedna numerička vrednsot. Standardni aritmetički operatori su sabiranje (+), oduzimanje (-), množenje (*), deljenje (/) and ostatak pri deljenju (%). Ovi operatori imaju isto značenje i u ostalim programskim jezicima, a takođe i u matematici..

Pošto programeri često dodaju i oduyzimaju 1 od varijabli,  JavaScript ima skraćenicu za te operacije, pa tako mojaVarr++ dodaje 1 na varijablu mojaVar, dok mojaVar-- oduzima 1 od mojaVar.

6.4. Logički operatori (Logical Operators)

Logički operatori za operande imaju logičke (Boolean) vrednosti, a kao rezltat operacije ponovo se dobija logička vrednost. Posmatrajmo sledeću tabelu:

Operator Upotreba Opis
and (&&) izraz1 && izraz2 rezultat je true ako su oba izraza izraz1 i  izraz2  true. U suprotnom je false.
or (||) izraz1 || izraz2 rezultat je true ako su ili izraz1 ili izraz2 true, a false samo ako su oba izraza izraz1 i izraz2 false.
not (!) !izraz rezultat je false akoje izraz true, a true ako je izraz false.

PRIMERI: Pošto smo naučili korišćenje osnovnih aritmetičkih i logičkih operatora sada ih možemo koristiti i zajedno. Pokušajte da razumete sledeće primere:

Ako je  x = 4 i y = 7,  onda ((x + y + 2) == 13) && (((x + y) / 2) == 2) daje FALSE. Zašto?

Ako je x = 4 i y = 7, onda ((y - x + 9) == 12) || ((x * y) == 2) daje TRUE. Zašto?

Ako je  x = 4 i y = 7,onda  !((x/2 + y) == 9) || ((x * (y/2)) == 2) daje FALSE. Zašto?

7. JavaScript objekti

JavaScript je objektno orjentisan jezik. Kada pomoću vašeg pretraživača (browser-a) pristupite nekom HTML dokumentu na web-u, onda se kreira niz JavaScript objekata sa svojstvima i mogućnostima koje se baziraju na HTML-u i drugim delovima sadržaja učitanog dokumenta. Ovi objekti su povezani hijerarhijski u skaldu sa strukturom HTML stranice.

Od svih objekata najčešće su u upotrebi objekti window i document. Objekat window ima metod koji vam omogućava da kreirate novi windows pomoću open() and close() methoda. On vam takođe omogućava da kreirate male prozore (message boxes) korišćenjem alert(), confirm(), i prompt() metoda. Svaki od ovih malih prozora prikazuje tekst koji stavljate između zagrada. Na primer, sledeća naredba:

alert("Ovo je boks za prikaz poruke")

...otvara mali prozor sa porukom. Videćete kako to funkcioniše ako kliknete ovde.

Objekat document predstavlja HTML stranicu. Objekat document sadrži nizove u kojima su memorisane sve komponente od kojih se sastoji sadržaj vaše web stranice kao što su slike, linkovi, forme itd. Vi možete pristupati svim tim elementima i sa njima povezanim metodama preko ovih nizova.

Objektima iz ove pre-definisane hijerarhije se može pristupati, i mogu se modifikovati. Da pristupite nekom od elemenata, morate specificirati njegov naziv kao i nazive svih njegovih predaka unazad sve do objekta document. Tačka, '.', se koristi kao separator u toj hijerarhiji imena. Generalno govoreći, svaki element ili objekat ima ono ime koje je dato u  NAME atributu oodgovarajućeg HTML taga. Na primer, sledeć konstrukcija se odnosi na vrednost (value) tekstualnog podatka (text1) koji je deo forme čije je ime mojaforma a koja je deo tekućeg dokumenta.

document.mojaforma.text1.value
Istom tom elementu se može pristupiti i preko gore pomenutih nizova. U gornjem primeru, ako je forma mojaforma  bila prava forma u dokumentu i ako je text1 bio treće polje u formi, onda bi isti element moga da bude referisan i na sledeći način:
document.forms[0].elements[2].value
Funkcije (metode) odjekata mogu biti pozivane na sličan način. Na primer, sledeća naredba resetuje (briše) drugu formu u dokumentu.
document.forms[2].reset();

Sledeća slika prikazuje hijerarhiju HTML objekata:

8. Funkcije

Funkcije su jedan od fundamentalnih gradivnih blokova JavaScript programa. Funkcija je skup naredbi koje izvršavaju neki specifičan zadatak. Funkcija se sastoji od sledećih delova:

8.1. Definisanje funkcije

Kada se definiše funkcija, veoma je važno da se vodi računa o sintaksi. Za razliku od HTML-a, JavaScript je osetljiv na velika i mala slova, pa je važno da funkcijske naredbe budu unutar velikih zagrada{ }, da argumenti budu razdvojeni zapetama, kao i da koristite tački zarez na kraju svake naredbe.

Takođe je važno da uočite razliku između definisanja i pozivanja funkcije.

Definisanje funkcije imenuje funkciju i specificira šta će biti urašeno kada se funkcija pozove. Funkcija se definiše  unutar <SCRIPT>...</SCRIPT> tagova, koji su smešteni unutar <HEAD>...</HEAD> tagova. Pri definisanju funkcije takođe se deklarišu i varijable koje ćete pozivati u toj funkciji.

Evo jednog jednostavnog primera definicije funkcije:

function poruka() {

		alert('Ovo je tekst poruke');

}

Uočite zagrade koje se nalaze odmah posle imena funkcije. One su obavezne čak i kada između njih nema ništa. Ako želite da pri pozivanju funkcije prenesete neki parametar (argument), onda takve parametre stavljate između ovih zagrada. Parametri su dodatne informacije koje mogu biti različite pri raunim pozivima funkcije. Parametri se smeštaju u varijablama i njima se pristupa kao i svim drugim varijablama. Evo primera funkcije sa parametrima:

function drugaporuka(rec) {

		alert(rec + ' je reč na koju ste kliknuli');

}

Kad pozivate ovu funkciju morate joj preneti i parametar (recimo reč koju je korisnik kliknuo). Zatim će funkcija koristiti tu reč. Pri svakom pozivu funkcije može se prenosti druga reč kao parametar, pa će u skladu sa tim i alert poruka biti svaki put drugačija.

Može se prenositi i više parametara ako se razdvoje zapetama. Sledi primer funkcije sa više parametara:

function trecaporuka(word,password) {

		confirm(word + ' is the word that you clicked on. The

				secret password is ' + password);

}

 

8.2. Pozivanje funkcije

Pozivanjem funkcije se zapravo izvršava akcija koju ona definiše. Kada pozovete funkciju, to se obično čini u BODY delu HTML stranice, i obično se funkciji prenosi i parametar. Parametar je varijabla koja dobija vrednost van same funkcije a funkcija je može koristiti tokom izvršavanja.

Evo primera pozivanja funkcije:

poruka();

Kao drugi primer posmatrajmo poziv funkcije iz nekog HTML elementat:

<A HREF="#top" onClick="drugaporuka('top')">top</A>

Ovo će vas vratiti na početak strane uz pojavu poruke: "top je reč koju ste kliknuli" Probajte: top

A evo još jednog primera sa više parametara:

<A HREF="#top" onClick="trecaporuka('awesome','pandas')">awesome</A>

9. if naredba

if ...else naredba izvršava jedan niz komandi ako je zadati uslov ispunjen, a drugi niz ako uslov nije ispunjen 

Osnovna ideja if naredbe se može slikovito objasniti sledećom rečenicom: "Ako sutra bude lepo vreme ići ćemo na piknik, ako ne bude lepo vreme gledaćemo televiziju."

Kao što vidite ideja je sasvim intuitivna, a takva je i sintaksa if naredbe:

if (uslov) {
	naredbe1
}
ili
if (uslov) {
	naredbe1
}
else {
	naredbe2
}

uslov može biti bilo koji JavaScript logički izraz koji kao rezultat daje true ili false. Oko uslova se stavljaju male zagrade.

Evo primera:

if (vreme == 'dobro') {
	idemo_na_izlet(mi);
	pravimo_piknik(mi);
}
else {
	ostajemo_kod_kuce(mi);
	gledamo_TV(mi);
}

10. Petlje

Petlje su izuzetno korisno sredstvo za programiranje. Petljama se lako upravlja repetitivnim radnjama. Nizovi nam ovde odmah padaju na um kao struktura pogodna za odradu u petlji. Recimo da želimo da svakom elementu niza dodamo 1.  Odmah je intuitivno jasno da je taj zadatak najlakše ostvariti korišćenjem ponavljanja u petlji. 

Dva najčešća oblika petlje su for i while petlje:

10.1. for petlje

for petlja se sastoji od tri izraza zatvorena u male zagrade i razdvojena tačka-zarezom (;) iza čega sledi blok naredbi koje se u petlji izvršavaju.

Ovo vam može izgledati malo konfuzno. I stvarno, teško je razumeti for petlju dok se ne vidi primer.

for petlja izgleda ovako:

for (inicijalni-izraz; uslov-zavrsetka; inkremetacioni-izraz) {
	naredbe
}

inicijalni-izraz se tipično koristi da se inicijalizuje brojač varijabla. U tom iyzrazu se najčešće i deklariše varijabla brojača ključnom rečju  var.

uslov-zavrsetka se ispituje pri svakom prolasku kroz petlju. Ako je uslov ispunjen (true), nardbe će biti izvršene. Kada uslov prestane da bude ispunjen (postane false) prestaje i izvršavanje petlje.

inkrementacioni-izraz se koristi najčešće za povećanje vrednosti brojača.

naredbe predstavljaju blok naredbi koje se izvršavaju sve dok je uslov ispunjen. Taj blok se može sastojati od jedne ili više naredbi. 

Posmatrajmo sledeći primer petlje. Petlja počinje deklarisanjem varijable i inicijalizacijom njene vrednosti na 0. Dalje se proverava uslov da li je vrednost varijable i manja od 3, pa ako jeste izvršavaju se dve naredne jedna za drugom, nakon čega se vrednost varijable i uvećava za 1. Ovaj proces se nastavlja sve dog varijabla i ne dobije vrednost 4 kada se prekida dalji rad petlje

var n = 0;
for (var i = 0; i < 3; i++) {
	n += i;
	alert("The value of n is now " + n);
}
Probajte: Kliknite ovde

10.2. while petlje

while petlja, iako na prvi pogled tako ne izgleda je zapravo bliznakinja for petlje. Ove dve petlje mogu zamenjjivati jedna drugu - i stvar je u tome što je nekada pognije korišćenje jedne a nekada druge petlje.. while naredba kreira petlju u kojoj se ispituje uslov i ako je ispunjen izvršava blok naredbi. Petlja se onda ponavlja sve dok je uslov ispunjen (true).

Sintaksa while petlje se razlikuje od for petlje i izgleda ovako:

while (uslov) {
	naredbe
}
uslov se proverava pre svakog prolaska kroz petlju. Ako je uslov ispunjen (true) izvršavaju se naredbe iz bloka unutar vitičastih zagrada. Kada uslov postane false, petlja se prekida i nastavlja se sa izvršavanje naredbi koje slede iza petlje.

U sledećem primeru while petlja se ponavlja sve dok je n manje od tri.

var n = 0;
var x = 0;
while(n < 3) {
	n++;
	x += n;
	alert("The value of n is " + n + ". The value of x is " + x);
}

Probajte: Kliknite ovde

11. Komentari

Komentari vam omogućavaju da stavljate beleške u vaš program.  Beleške su važne jer omogućavaju drugima da razumeju vaš program - recimo da saznaju šta je zadatak funkcija koje ste definisali ili varijabli koje ste deklarisali. Beleške će i vama pomoći da se podsetite ako duže vreme niste gledali vaš progrem, pa ste mnoge detalje zaboravili.

U JavaScript programima, možete imati jednolinijske ili višelinijske komentare. Jednolinijski komentari se označavaju sa dve kose crte, // koje se nalaza na početku komentara . To označava da sve što bude napisano u toj liniji, posle //, jeste komentar i neće se izvršavati kao program.

Za višelinijske komentare koristi se za početak kosa crta i zvezda  /* a za kraj zvezda i kosa crta */ . Između ove dve oznake može da stoji bilo kakav tekst koji se tretira kao komentar a me kao program

Evo nekoliko primera komentara u JavaScript-u.

// Ovo je primer jednolinijskog komentara.

/* Ovo je primer višelinijskog komentara, ali u jednoj liniji. */

/* Ovo je primer višelinijskog komentara u više linija.
 * Zvezda (*) na pošetku ove linije je opciona i doprinosi boljoj čitljivosti.
 * Isto vađi i za zvezdu u ovoj liniji. */

12. Dodatak - JavaScript objekti

 

Hierarchy Objects
Object Properties Methods Event Handlers
Window defaultStatus
frames
opener
parent
scroll
self
status
top
window
alert
blur
close
confirm
focus
open
prompt
clearTimeout
setTimeout
onLoad
onUnload
onBlur
onFocus
Frame defaultStatus
frames
opener
parent
scroll
self
status
top
window
alert
blur
close
confirm
focus
open
prompt
clearTimeout
setTimeout
none (The onLoad and onUnload event handlers belong to the Window object)
Location hash
host
hostname
href
pathname
por
protocol
search
reload
replace
none
History length
forward
go
back none
Navigator appCodeName
appName
appVersion
mimeTypes
plugins
userAgent
javaEnabled none
document alinkColor
anchors
applets
area
bgColor
cookie
fgColor
forms
images
lastModified
linkColor
links
location
referrer
title
vlinkColor
clear
close
open
write
writeln
none (the onLoad and onUnload event handlers belong to the Window object.
image border
complete
height
hspace
lowsrc
name
src
vspace
width
none none
form action
elements
encoding
FileUpload
method
name
target
submit
reset
onSubmit
onReset
text defaultValue
name
type
value
focus
blur
select
onBlur
onCharge
onFocus
onSelect

Built-in Objects
Object Properties Methods Event Handlers
Array length join
reverse
sort xx
none
Date none getDate
getDay
getHours
getMinutes
getMonth
getSeconds
getTime
getTimeZoneoffset
getYear
parse
prototype
setDate
setHours
setMinutes
setMonth
setSeconds
setTime
setYear
toGMTString
toLocaleString
UTC
none
String length
prototype
anchor
big
blink
bold
charAt
fixed
fontColor
fontSize
indexOf
italics
lastIndexOf
link
small
split
strike
sub
substring
sup
toLowerCase
toUpperCase
Window

Matematičke funkcije:

Math.abs(a)     // apsolutna vrednst od a
Math.acos(a)    // arkus kosinus od a
Math.asin(a)    // arkus sinus od a
Math.atan(a)    // arkus tangens od a
Math.atan2(a,b) // arkus tangens od a/b
Math.ceil(a)    // ceo broj nakbliži broju a ali ne manji od a
Math.cos(a)     // kosinus od a
Math.exp(a)     // eksponent od a
Math.floor(a)   // ceo broj najbliži broju a ali ne veći od a
Math.log(a)     // logaritam baze e
Math.max(a,b)   // veći od brojeva a i b
Math.min(a,b)   // manji od brojeva a i b
Math.pow(a,b)   // a na stepen b
Math.random()   // spseudoslučajan broj u opsegu od 0 do 1
Math.round(a)   // ceo broj najbliži broju a 
Math.sin(a)     // sinus od a
Math.sqrt(a)    // kvadratni koren od broja a
Math.tan(a)     // tangens od a

JavaScript and Browser Objects Complete Quick Reference