Download pdf - DocumentJs

Transcript

Web programiranje i primjene

JavaScript

25.3.2011. 1Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

JavaScript• skripta – lista naredbi koja se može izvršiti bez intervencije korisnika

(izvor: Informatički enciklopedijski riječnik, 2. dio, Zagreb, 2005.)• JavaScript

– najpoznatiji programski jezik za pisanje skripti (skriptni jezik)– skripte se najčešće ugrađuju izravno u HTML dokument - JavaScript

uvodi interaktivnost u HTML dokumente– besplatan je i podržan u najčešće korištenim Internet preglednicima

(Internet Explorer, Firefox, Chrome, Opera, Safari)• povijest

– prvu verziju JavaScripta izumio je Brendan Eich (Netscape);– od 1996. svi Microsoftovi i Netscapeovi web preglednici podržavaju

JavaScript• ECMAScript

– službeno ime JavaScripta; za razvoj i upravljanje zadužena je ECMAOrganization

25.3.2011. 2Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

JavaScriptŠto sve možemo s JavaScriptom?

• JavaScript je skriptni jezik koji HTML dizajnerima (koji nisu programeri)daje mogućnost pisanja jednostavnih programa i njihovog ugrađivanjaizravno u HTML dokument

• JavaScript omogućuje dodavanje dinamičkog teksta HTML dokumentu(npr. "<h1>" + name + "</h1>" – u HTML dokumentu ispisuje vrijednostvarijable name kao zaglavlje tipa <h1>)

• JavaScript mođe reagirati na događaje – može se podesiti tako da jeizvršavanje skripte povezano s nekim događajem (npr. učitavanjemstranice – onLoad, klikom miša – onClick)

• JavaScript može čitati i mijenjati sadržaj HTML elementa• JavaScript može prepoznavati web preglednig krajnjeg korisnika – tako

omogućuje da taj krajnji korisnik vidi dokument kreiran upravo za webpreglednik koji on koristi

25.3.2011. 3Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

JavaScript uključivanje u HTML dokument• skripta pisana JavaScript-om se u HTML dokument upisuje između tag-ova

<script> i </script>

<html><body>

<script type="text/javascript">...</script>

</body></html>

• <script type="text/javascript">

– označava početak JavaScript-a

– atribut type s vrijednošću “text/javascript” definira korišteni skriptnijezik

• </script> - označava kraj JavaScript-a

25.3.2011. 4Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

JavaScript uključivanje u HTML dokument• primjer:

<html><body>

<script type="text/javascript">document.write("Hello World!");

</script></body>

</html> • document.write()

– JavaScript naredba za ispisivanje definiranog sadržaja– skripta iz ovog primjera u pripadnom HTML dokumentu ispisuje string

“Hello World!”, i to točno na mjestu na kojemu je skripta uključena uHTML dokument

– http://www.w3schools.com/js/js_howto.asp

25.3.2011. 5Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

JavaScript uključivanje u HTML dokument• preglednici koji ne podržavaju JavaScript tretiraju ga kao obični tekst – kod

JavaScript-a prikazuju kao običan tekstualni sadržaj HTML dokumenta• da bismo to izbjegli dovoljno je JavaScript napisati kao HTML komentar

<html><body>

<script type="text/javascript"><!--document.write("Hello World!");//-->

</script></body>

</html>• kose crte “//” su simbol za JavaScript komentar – one ovdje sprečavaju

izvršavanje tag-a “-->”• primjer: http://www.w3schools.com/js/tryit.asp?filename=tryjs_text

25.3.2011. 6Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

JavaScript uključivanje u HTML dokument• gdje uključiti JavaScript u HTML dokumentu?

– http://www.w3schools.com/js/js_whereto.asp– JavaScript uključen u tijelo HTML dokumenta izvršava se automatski

prilikom učitavanja tog HTML dokumenta u web preglednik– ako želimo da se JavaScript izvršava nakon učitavanja HTML

dokumenta u web preglednik ili da je izvršavanje JavaScripta povezanos nekim događajem (npr. klikom miša, klikom na gumb i sl.) koristimofunkcije – JavaScript s definicijom funkcije na standardan načinsmještamo u zaglavlje HTML dokumenta, a funkcije pozivamo u tijeludokumenta; na taj način razdvajamo definicije JavaScript funkcija odsadržaja HTML dokumenta

– vanjski JavaScript – omogućuje korištenje/pozivanje iste skripte u višeHTML dokumenata

<script type="text/javascript" src="xxx.js"></script>

25.3.2011. 7Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

JavaScript - naredbe i kod

• JavaScript naredba (eng. JavaScript statement)

– naredba upućena izravno web pregledniku koja mu kaže što trebaraditi

– npr. document.write("Hello World");

– “;” – oznaka za kraj JavaScript naredbe; prema propisanom JavaScriptstandardu nije obavezna jer web preglednik kraj reda interpretira kaokraj naredbe, međutim korištenje oznake “;” omogućuje upisivanjeviše JavaScript naredbi u istom redu

– JavaScript je osjetljiv na velika i mala slova

• JavaScript kod (kraće samo JavaScript)

– niz JavaScript naredbi koje web preglednik izvršava redom kako sunapisane

– primjer: http://www.w3schools.com/js/js_statements.asp

25.3.2011. 8Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

JavaScript - komentari

• osnovna svrha komentara u JavaScript-u

– objašnjavanje JavaScript koda

– spriječavanje izvršenja neke JavaScript naredbe ili bloka naredbi

• jednolinijski JavaScript komentari

– sintaksa: // ispis zaglavlja tipa <h1>document.write("<h1>Ovo je zaglavlje</h1>");

• višelinijski JavaScript komentari

– sintaksa: /*Sljedeća JavaScript naredbaispisuje zaglavlje tipa <h1>

*/document.write("< Ovo je zaglavlje </h1>");

• primjer: http://www.w3schools.com/js/js_comments.asp

25.3.2011. 9Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

JavaScript - varijable

• varijabla – opisno rečeno, “spremnik” za određenu informaciju/podatak ilivrijednost

• primjer:– http://www.w3schools.com/js/tryit.asp?filename=tryjs_variable– http://www.w3schools.com/js/tryit.asp?filename=tryjs_variables

• deklaracija varijabli u JavaScriptu– var x;

var ime;- na ovaj su način deklarirane varijable nazvane x i ime, no nije impridružena nikakva vrijednost

– var x=5;var ime=“Iva”;- na ovaj su način deklarirane varijable nazvane x i ime; varijabli xpridružena je numerička vrijednost 5, a varijabli ime vrijednost “Iva”koja je tipa string

• primjeri: http://www.w3schools.com/js/js_variables.asp

25.3.2011. 10Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

JavaScript - operatori• aritmetički operatori

– + (zbrajanje), - (oduzimanje), * (množenje), / (dijeljenje), % (cjelobrojno dijeljenje), ++ (inkrement), -- (dekrement)

– primjer: http://www.w3schools.com/js/js_operators.asp

• operatori pridruživanja– = (pridruživanje vrijednosti), +=, -=, *=, /=, %=– primjer: http://www.w3schools.com/js/js_operators.asp

• konkatenacija– operacija koja nastaje primjenom operatora zbrajanja (+) na varijable

čije su vrijednosti tipa string– primjer:

http://www.w3schools.com/js/tryit.asp?filename=tryjs_variables

25.3.2011. 11Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

JavaScript - operatori

• operatori uspoređivanja

– == (jednako po vrijednosti), === (jednako po vrijednosti i tipu), != (različito), > (veće), < (manje), >= (veće ili jednako), <= (manje ili jednako)

• logički operatori

– && (logičko i; konjunkcija), || (logičko ili; disjunkcija) , ! (negacija)

• primjer: http://www.w3schools.com/js/js_comparisons.asp

25.3.2011. 12Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

JavaScript - objekti• JavaScript – objektno orjentiran programski jezik koji omogućuje

definiranje vlastitih objekata

• objekt – posebna vrsta podataka

– JavaScript built-in objekti: String, Date, Array, Boolean, Math, RegExp

– JavaScript omogućuje definiranje novih objekata

– karakteriziran svojstvima i metodama

• svojstva (eng. properties) – vrijednosti pridružene objektu

– primjena na objekt: objekt.svojstvo

ispis: document.write(objekt.svojstvo)

– primjer: <script type="text/javascript">var txt="Hello World!";document.write(txt.length);

</script>

– svojstvo length String objekta vraća broj znakova koji se pojavljuju uvrijednosti varijable txt: 12

25.3.2011. 13Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

JavaScript - objekti

• metode (eng. methods) – aktivnosti koje se mogu primjenjivati nadobjektima

– primjena na objekt: objekt.metoda()

ispis: document.write(objekt.metoda())

– primjer: <script type="text/javascript">var str="Hello world!";document.write(str.toUpperCase());

</script>

– metoda toUpperCase() primjenjena na String objekt vraća vrijednostvarijable str napisanu velikim slovima: HELLO WORLD!

25.3.2011. 14Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

JavaScript – built-in objekti

• String objekt

– koristi se za manipuliranje tekstom

– svojstva i metode: http://www.w3schools.com/jsref/jsref_obj_string.asp

– primjeri: http://www.w3schools.com/js/js_obj_string.asp

• Date objekt

– koristi se za rad s datumima i vremenom

– svojstva i metode: http://www.w3schools.com/jsref/jsref_obj_date.asp

– primjeri: http://www.w3schools.com/js/js_obj_date.asp

• Array objekt

– koristi se za rad s nizovima

– svojstva i metode: http://www.w3schools.com/jsref/jsref_obj_array.asp

– primjeri: http://www.w3schools.com/js/js_obj_array.asp

25.3.2011. 15Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

JavaScript – built-in objekti

• Boolean objekt– koristi se za pretvaranje nelogičke vrijednosti u logičku vrijednost (0 ili 1)– sv. i metode: http://www.w3schools.com/jsref/jsref_obj_boolean.asp– primjeri: http://www.w3schools.com/js/js_obj_boolean.asp

• Math objekt– sv. i metode: http://www.w3schools.com/jsref/jsref_obj_math.asp– primjeri: http://www.w3schools.com/js/js_obj_math.asp

• RegExp objekt– koristi se za rad s regularnim izrazima– regularan izraz – objekt koji opisuje “uzorak znakova”– sv. i metode: http://www.w3schools.com/jsref/jsref_obj_regexp.asp– primjeri: http://www.w3schools.com/js/js_obj_regexp.asp

25.3.2011. 16Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

Java Script – funkcije

• sintaksa: function ImeFunkcije(var1,var2,...,varN)

{

JavaScript kod

}

• var1,var2,...,varN – varijable korištene u definiranju pravila koje određujedjelovanje funkcije, tj. u JavaScript kodu zatvorenom u vitičastimzagradama

• { - označava početak definicije pravila koje određuje djelovanje funkcije

• } - označava kraj definicije pravila koje određuje djelovanje funkcije

• ključna riječ function mora biti napisana malim slovima

• ime funkcije smije sadržavati i velika i mala slova – oprez, JavaScript jeosjetljiv na velika i mala slova

25.3.2011. 17Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

Java Script – funkcije

• dio JavaScript koda zatvoren u vitičaste zagrade je zapravo definicijafunkcije koja se izvršava pozivom funkcije ili pomoću događaja (npr.funkcija se izvršava na klik miša); na ovaj način osiguravamo da seodređeni dio JavaScript koda ne izvršava direktno učitavanjem htmldokumenta u web preglednik

• funkcije možemo definirati ili u zaglavlju ili u tijelu stranice – definiranje uzaglavlju stranice se preporučuje jer time osiguravamo da će funkcija zaistabiti definirana (tj. da će definicija funkcije biti učitana) prije samog pozivafunkcije

• primjer: http://www.w3schools.com/js/js_functions.asp

25.3.2011. 18Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

Java Script – funkcije

• return – ako funkcija vraća neku izlaznu vrijednost, tu vrijednostspecificiramo pomoću ključne riječi return

– primjer: http://www.w3schools.com/js/js_functions.asp

• lokalne varijable - varijablu deklariranau unutar funkcije možemopozivati/koristiti samo unutar te funkcije, tj. van te funkcije spomenutavarijabla nije deklarirana

• globalne varijable – varijable deklarirane deklarirane van funkcije;možemo ih koristiti/pozivati u cijelom dokumentu

25.3.2011. 19Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

JavaScript - objekt window

• objekt window – predstavlja otvoreni prozor web preglednika

http://www.w3schools.com/jsref/obj_window.asp

• najvažnije metode:

– window.open() i window.close() – otvaranje i zatvaranje novog prozora

– focus() i blur() – “stavlja fokus” na aktivni prozor

– blur() – “skida fokus” s aktivnog prozora

– print() – ispisuje sadržaj aktivnog prozora

– moveBy() – pomiče prozor u odnosu na njegovu trenutačnu poziciju

– moveTo() - pomiče prozor na određenu poziciju

25.3.2011. 20Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

Java Script – dijalozi• JavaScript koristi tri vrste dijaloga (eng. pop-up box) :

– alert – koristimo ga ispis informacije koju je korisnik zatražio; nakon štokorisnik primi/pročita traženu informaciju, mora pritisnuti gumb OK dabi zatvorio alert dijalog

alert(“tražena informacija.”)

– confirm - koristimo ga kad želimo da korisnik potvrdi ili prihvatiispisanu informaciju, tj. kad se pojavi dijalog confirm korisnik morapritisnuti gumb OK ili Cancel da bi ga zatvorio

confirm(“informacija koja traži prihvaćanje/potvrdu.”)

– prompt - koristimo ga kad želimo da korisnik unese neki sadržaj u za topredviđeno polje prije nego pristupi web stranici; kad se pojavi dijalogprompt korisnik mora pritisnuti gumb OK ili Cancel da bi pristupiozatraženoj web stranici

prompt(“neki tekst”, “podrazumijevana vrijednost”)

– primjeri: http://www.w3schools.com/js/js_popup.asp

25.3.2011. 21Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

JavaScript – kreiranje novog objekta

• objekt – posebna vrsta podataka s određenim svojstvima (eng. properties) i metodama (eng. methods)

• primjer:

– objekt – osoba

– svojstva – vrijednosti pridružene objektu; za objekt osoba svojstva su npr. spol, boja očiju, boja kose, visina...

– metode – aktivnosti koje se mogu provoditi nad objektom; za objekt osoba metode su npr. work(), sleep(), eat()...

• novi objekt možemo kreirati na dva načina:

– možemo izravno kreirati instancu objekta

– možemo definirati uzorak (eng. template) za objekt te iz njega kreirati instance objekta

25.3.2011. 22Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

JavaScript – kreiranje novog objekta

• izravno kreiranje instance objekta i dodavanje svojstava:

osobaObj=new Object();osobaObj.ime=“Iva";osobaObj.prezime=“Ivić";objektObj.dob=30;objektObj.bojaociju=“plava";

• primjer:

http://www.w3schools.com/js/tryit.asp?filename=tryjs_create_object1

25.3.2011. 23Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

• kreiranje uzorka za objekt osoba:

function osoba(ime, prezime, dob, bojaociju){this.ime=ime;this.prezime=prezime;this.dob=dob;this.bojaociju=bojaociju;}

• kreiranje instance objekta osoba pomoću definiranog uzorka:

mojOtac=new osoba(“Ivo", “Ivić", 50, “smeđa");

mojaMajka=new osoba(“Iva", “Ivić", 48, “zelena");

• primjer:

http://www.w3schools.com/js/tryit.asp?filename=tryjs_create_object2

JavaScript – kreiranje novog objekta

25.3.2011. 24Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

Java Script – uvjetna grananja

• u JavaScript-u koristimo sljedeća uvjetna granjanja:

– If - koristi se za specifikaciju dijela JavaScript koda se izvršava samoako je zadani uvjet ispunjen

if (uvjet)

{dio koda koji se izvršava ako je uvjet ispunjen}

– If...else - koristi se za specifikaciju dijela koda koji se izvršava ako jezadani uvjet ispunjen, te specifikaciju dijela koda koji se izvršava kadzadani uvjet nije ispunjen

if (condition)

{dio koda koji se izvršava ako je uvjet ispunjen}

else

{dio koda koji se izvršava ako uvjet nije ispunjen}

25.3.2011. 25Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

Java Script – uvjetna grananja

• If...else if...else - koristi se za specifikaciju dijela koda koji se izvršava kadniti jedan od zadanih uvjeta nije ispunjen

if (uvjet1)

{dio koda koji se izvršava ako je uvjet1 ispunjen}

else if (uvjet2)

{dio koda koji se izvršava ako je uvjet2 ispunjen}

else

{dio koda koji se izvršava ako niti

uvjet1 niti uvjet2 nisu ispunjeni}

• primjeri: http://www.w3schools.com/js/js_if_else.asp

25.3.2011. 26Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

Java Script – uvjetna grananja

• switch – koristi se za specificiranje jednog od nekoliko blokova JavaScriptkoda koji se izvršava kad je ispunjen zadani uvjet

switch(n)

{case1:

blok koda koji se izvršava kad je case1=n

break;

case 2:

blok koda koji se izvršava kad je case2=n

break;

default:

blok koda koji se izvršava ako je n različito od case1 i case 2}

• primjer: http://www.w3schools.com/js/js_switch.asp

25.3.2011. 27Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

Java Script – petlje

• for petlja – izvršava određeni dio JavaScript koda onoliko puta koliko jeodređeno/zadano uvjetom

for (var=pocetna_vrij;var<=zavrsna_vrij;var=var+inkrement)

{JavaScript kod koji se izvršava uvjetom zadani broj puta}

– primjer:

http://www.w3schools.com/js/tryit.asp?filename=tryjs_fornext

• while petlja - izvršava određeni dio JavaScript koda sve dok je zadani uvjettočan/istinit

while (var<=zavrsna_vrijednost)

{JavaScript kod koji se izvršava sve dok je var<=zavrsna_vrijednost}

– primjer:

http://www.w3schools.com/js/tryit.asp?filename=tryjs_while

25.3.2011. 28Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

Java Script – petlje

• do...while petlja - varijanta while petlje

do{dio JavaScript koda}

while (var<=zavrsna_vrijednost);

– specificirani dio koda (tj. dio koda u vitičastim zagradama) izvrši sejednom, a tada se njegovo izvršavanje ponavlja sve dok je zadani uvjettočan/istinit

– primjer:

http://www.w3schools.com/js/tryit.asp?filename=tryjs_dowhile

25.3.2011. 29Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

Java Script – petlje

• for...in petlja

– koristi se za rad s elementima niza

for(ime_varijable in ime_objekta)

{JavaScript kod koji se izvršava};

– kod u vitičastim zagradama izvršava se točno jedanput za svakielement niza

– primjer:

http://www.w3schools.com/js/tryit.asp?filename=tryjs_array_for_in

25.3.2011. 30Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

Java Script – “break” i “continue”

• break – djeluje tako da za zadanu vrijednost prekida petlju te nastavlja sizvršavanjem JavaScript koda koji slijedi nakon petlje

• continue - djeluje tako da za zadanu vrijednost prekida petlju te nastavlja sizvršavanjem petlje za veće vrijednosti

• primjer: http://www.w3schools.com/js/js_break.asp

25.3.2011. 31Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

Java Script – događaji

JavaScript događaj (eng. event)

• aktivnost korisnika koju JavaScript može prepoznati; na taj način JavaScriptomogućuje izradu dinamičkih web stranica

• primjeri JavaScript događaja:

– klik mišem: onClick

– učitavanje web stranice: onLoad

– prelazak pokazivačem miša preko dijela web stranice (npr. linka) –onMouseOver

• JavaScript događaji često se koriste u kombinaciji s funkcijama iosiguravaju da se funkcija neće izvršiti sve dok se ne realizira JavaScriptdogađaj – npr. pomoću onClick() događaja postižemo da se određenafunkcija izvrši svaki puta kad koristik izvrši klik mišem

25.3.2011. 32Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

Java Script – događaji

• onLoad - realizira se kad korisnik pristupa web stranici

• onUnLoad – realizira se kad korisnik napušta web stranicu

• onClick – realizira se kad korisnik izvrši klik mišem

• onMouseOver – realizira se dok korisnik pokazivačem miša prelazi prekoelementa web stranice

• onMouseOut – realizira se kad je korisnik pokazivačem miša prešao prekoelementa web stranice

• primjer:

http://www.w3schools.com/js/tryit.asp?filename=tryjs_function1

• onFocus, onBlur, onChange, onSubmit – događaji koji se najčešće koristepri validaciji formi

• primjer: http://www.w3schools.com/jsref/dom_obj_event.asp

25.3.2011. 33Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

JavaScript – try...catch• try...catch – koristi se za testiranje bloka JavaScript koda na postojanje

grešaka

try

{JavaScript kod koji želimo testirati na postojanje grešaka}

catch(err)

{JavaScript kod koji se izvršava u slučaju postojanja greške}

– try{...} – sadrži dio JavaScript koda kojeg želimo testirati na greške

– catch{...} – sadrži JavaScript kod koji se izvršava ukoliko blok JavaScriptkoda u try{...} sadrži grešku

– primjer: http://www.w3schools.com/js/js_try_catch.asp

• throw – koristi se u kombinaciji s try...catch naredbama i omogućujedefiniranje i prijavljivanje preciznog opisa greške

– primjer:

http://www.w3schools.com/js/tryit.asp?filename=tryjs_throw

25.3.2011. 34Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek

JavaScript - literatura

1. http://www.w3schools.com/js

2. JavaScript – materijali prof. Esserta

25.3.2011. 35Odjel za matematiku, Sveučilište J.J

Strossmayera, Osijek


Recommended