730 likes | 958 Views
Java Script. JavaScript. JavaScript je skript jezik kojim Web dizajneri mogu da automatizuju postupke unutar Web stranice Skript jezik - jer omogućava pisanje skripta (niza naredbi) koje će Web čitač izvršiti Ne koristi se za pravljenje spoljnog programa koji se izvršava nezavisno od čitača.
E N D
JavaScript • JavaScript je skript jezik kojim Web dizajneri mogu da automatizuju postupke unutar Web stranice • Skript jezik - jer omogućava pisanje skripta (niza naredbi) koje će Web čitač izvršiti • Ne koristi se za pravljenje spoljnog programa koji se izvršava nezavisno od čitača
JavaScript • JavaScript se ugrađuje u HTML Web stranice – nije potreban poseban alat; može se koristiti isti program za uređenje teksta koji se koristi za izradu Web stranice • Najpopularniji čitači Weba imaju ugrađenu podršku za JavaScript – posetioci lokacije ne moraju instalirati dodatne programe na svoje računare • JavaScript iskazi postavljaju se između oznaka <script> i </script>, koje će ukazati čitaču Weba da izvrši JavaScript iskaze umesto da prikaže tekst na ekranu
Pozicije oznaka Skriptovi u zaglavlju dokumenta Skriptovi u telu dokumenta
Pozicije oznaka Skriptovi u zaglavlju i telu dokumenta Dva skripta u telu dokumenta
JavaScript • Iskazi skripta mogu se uokviriti HTML oznakama za komentar (<!--komentar-->) kako bi se sprečilo da čitači koji ne podržavaju JavaScript na ekranu prikažu iskaze skripta • Čitači koji ne podržavaju JavaScript ignorisaće oznake skripta i sve što se nalazi između početne i završne oznake komentara • Obrnuto, čitači koji podržavaju JavaScript ignorisaće oznake komentara i izvršiti funkciju skripta
Primer 1. <html> <head> <title> Primer izvršavanja JavaScripta </title> </head> <body> <p> Tekst koji se ispisuje pre izvršavanja iskaza.</p> <script type="text/javascript"> <!-- alert('Ovo je dijalog ALERT!'); //--> </script> <p> Tekst koji se ispisuje nakon izvršavanja iskaza.</p> </body> </html> Snimite dokument pod nazivom Primer1.html na D disk (D:\Grupa I\JavaScript\Primer1.html) Naredba (iskaz)
Korišćenje objektnog modela • JavaScript “vidi” Web stranicu kao skup svojstava i objekata smeštenih u objekat pod nazivom document • Svojstva koja čitač Weba smešta u objekat document uključuju prednji plan (tekst), pozadinu, boje hiperteksta Web stranice, elemente obrasca, slike, itd. • Menjajući vrednosti svojstava tog objekta može se promeniti i izgled Web stranice i objekti na stranici • Na primer, mogu se postaviti svojstva: • document.bgColor – promena boje pozadine • document.fgColor – promena boje slova • document.linkColor – promena boje hiperveze neposećenih stranica • document.vlinkColor - promena boje hiperveze posećenih stranica, itd Svojstvo Objekat
Primer 2. <html> <head> <title> Primer izvršavanja JavaScripta </title> </head> <body> <p> Tekst koji se ispisuje pre izvršavanja iskaza.</p> <script type="text/javascript"> <!–- alert('Ovo je dijalog ALERT!'); document.bgColor="lightyellow"; document.fgColor="magenta"; //--> </script> <p> Tekst koji se ispisuje nakon izvršavanja iskaza.</p> </body> </html> Snimite dokument pod nazivom Primer2.html na D disk (D:\Grupa I\JavaScript\Primer2.html)
Primer 2a. • Modifikujte prethodno realizovan Primer 2., premeštanjem iskaza: alert('Ovo je dijalog ALERT!'); iza iskaza document.fgColor="magenta";
Primer 2a. <html> <head> <title> Primer izvršavanja JavaScripta </title> </head> <body> <p> Tekst koji se ispisuje pre izvršavanja iskaza JavaScript-a.</p> <script type="text/javascript"> <!-- document.bgColor="lightyellow"; document.fgColor="magenta"; alert('Ovo je dijalog ALERT!'); //--> </script> <p> Tekst koji se ispisuje nakon izvršavanja iskaza JavaScript-a.</p> </body> </html> Snimite dokument pod nazivom Primer2a.html na D disk (D:\Grupa I\JavaScript\Primer2a.html)
Rezervisane reči JavaScripta • Prilikom imenovanja funkcija ili definicija promenljive za smeštanje informacija dok čitač izvršava iskaze u funkciji ili skriptu – moraju se izabrati imena funkcija i promenljivih koje nisu u sukobu sa rezervisanim rečima JavaScripta
Deklarisanje promenljivih u JavaScriptu • U JavaScript iskazima informacije se čuvaju u promenljivama • Za razliku od većine prgramskih jezika nije potrebno zadati tip informacije koji se smešta u promenljivu kada se ona deklariše • JavaScript određuje tip promenljive na osnovu podatka koji se smešta u promenljivu • Tip podatka promenljive može se promeniti zavisno od operacije u kojoj se koristi promenljiva
Deklarisanje promenljivih u JavaScriptu • Sama deklaracija promenljive u skriptu zadaje se imenom nakon ključne reči var: varBookTitle, ChapterNumber; varPublisher; • Ako se promenljivoj daje početna vrednost iza njenog imena postavlja se operator dodele (=) i početna vrednost: var StringValue = 10; var IntValue = 20;
Ograničenja pri deklaraciji promenljivih • Ime promenljive ne sme se sukobiti sa rezervisanom reči JavaScripta • Imena promenljivih moraju počinjati slovom ili donjom crtom (_) i mogu sadržati brojeve ili slova nakon prvog znaka • Imena promenljivih ne mogu sadržati znakove za razmak ili interpunkciju • U nazivima i rezervisanim rečima JavaScripta (kao var) treba voditi računa o veličini slova (eng. Case-sensitive) • var je rezervisana reč, a Var nije • Promenljiva stringvalue je različita od StringValue
JavaScript operatori • Operatori dozvoljavaju kombinovanje promenljivih i/ili slovnih vrednosti u izraze koji daju vrednosti • Ti izrazi se mogu prikazivati, smeštati u promenljive ili koristiti kao delovi drugih izraza • JavaScript operatori mogu se grupisati u nekoliko klasa na osnovu njihove namene: • aritmetički operatori – zahtevaju dve promenljive, dve vrednosti ili dva izraza ( po jedan na svakoj strani operatora) • unarni JavaScript operatori – odnose se na jedan operand • operatori poređenja – omogućavaju poređenje jednog izraza, promenljive ili slovne vrednosti s nekom drugom • logički operatori – omogućavaju poređenje dve logičke vrednosti
Unarni JavaScript operatori • Kada se dvostruki plus (++) ili dvostruki minus (--) stavi ispred promenljive, kao prefiks, operacija se obavlja pre dodele vrednosti • Ako se operator postavi kao sufiks, nakon promenljive, operacija se obavlja nakon dodele vrednosti. • Na primer: i = 10; j = --i; //i=9,. j=9 j = i++; //j=10, i=11
Logički operatori • Logički operatori obično se koriste za poređenje rezultata dva izraza u uslovnom iskazu ili u upravljačkoj petlji
JavaScript funkcije • Srodne naredbe (iskazi) grupišu se u funkciju • U okviru Web stranice svaka JavaScript funkcija mora imati jedinstveno ime • Definicija počinje ključnom rečju function, zatim sledi ime funkcije i neobavezni niz parametara (obuhvaćenih zagradama) • Nakon imena funkcije i neobaveznog niza parametara, između vitičastih zagrada {} navode se JavaScript iskazi koji izvode zadatak funkcije
JavaScript funkcije function greetVisitor() { alert(“Welcome to My Site”); return; } • Iskazi JavaScripta završavaju se tačkom i zarezom (;) • Na kraju funkcije (pre zatvaranja desne vitičaste zagrade) umeće se ključna reč return - vraća upravljanje čitača Weba iskazu koji je pozvao funkciju • Funkcije je najbolje ugraditi na kraj zaglavlja (neposredno ispred oznake </head>) - osigurava da će čitač Weba učitati telo funkcije pre nego što posetilac izazove događaj s kojim je funkcija povezana
Primer 3. <html> <head> <title> FunkcijeJavaScripta </title> <script type="text/javascript"> <!-- function greetVisitor() { alert("Welcome to My Site"); return; } // --> </script> </head> <body> <p> Tekst koji se ispisuje pre izvršavanja iskaza JavaScript-a.</p> <script type="text/javascript"> <!-- greetVisitor(); // --> </script> <p> Tekst koji se ispisuje nakon izvršavanja iskaza JavaScript-a.</p> </body> </html> Snimite dokument pod nazivom Primer3.html na D disk (D:\Grupa I\JavaScript\Primer3.html)
Prosleđivanje vrednosti u JavaScript funkciju i iz nje • Kada se pozove JavaScript funkcija moguće je proslediti vrednosti u funkciju preko promenljivih koje se zovu parametri • Niz parametara funkcije nalazi se u zagradama, posle imena u deklaraciji funkcije • Sledeći kod deklariše funkciju sa tri parametra – first, next i last: function FindTotal(first,next,last) { var total = first + next + last; document.write (“Rezultat je: ” + total + “ . ” ); return; } • Tekst i naredbe HTML-a se stavljaju unutar navodnika. • Naredbom document.write(...) unutar Java Scripta se u dokument ispisuje HTML kod ili korisnički tekst. • Java Script i HTML iskazi međusobno se povezuju znakom plus (+).
Primer 4a. <html> <head> <title> Funkcija zbira </title> <script type="text/javascript"> <!-- function FindTotal(first,next,last) { var total = first + next + last; document.write (“Rezultat je: <br />” + total + “ . ”); return;} // --> </script> </head> <body> <script type="text/javascript"> <!-- FindTotal(2,3,4); // --> </script> </body> </html> Snimite dokument pod nazivom Primer4a.html na D disk (D:\Grupa I\JavaScript\Primer4a.html)
Primer 4b. • Napraviti Web stranu koja prikazuje tri vrednosti i njihov proizvod, kao što je prikazano na slici. Realizovani primer sačuvati pod nazivom: Primer 4b.
Primer 4b. <html><head><title> Funkcija proizvoda </title> <script type="text/javascript"> <!-- function FindTotal(first,next,last) {var total = first * next * last; document.write (“Unete vrednosti su: <br /> <i> Prva vrednost: </i> ” +first+ “<br /> <i> Druga vrednost:</i>”+next+ “<br /> <i> Treća vrednost: </i>” +last+ “<br /><hr /> <b> Njihov proizvod je:</b>” + total + “ . ”);} // --> </script></head> <body> <script type="text/javascript"> <!-- FindTotal(5,3,2); // --> </script> </body></html> Snimite dokument pod nazivom Primer4b.html na D disk (D:\Grupa I\JavaScript\Primer4b.html)
Uslovni iskazi i petlje • Skriptovi koji donose odluke – obavljaju uslovnu obradu • Zavisno od rezultata jednog ili više uslova, čitač će izvršiti određene iskaze • Da bi doneli odluku – skriptovi moraju izvršiti neku vrstu provere – koriste operatore poređenja • Rezultat poređenja dve vrednosti relacionim operatorima je logičkog tipa: ili true (tačno) ili false (netačno)
Uslovno izvršavanje • Iskaz ifomogućava skriptovima da izvrše provere, a potom izvrše iskaze zavisno od rezultata provere • Ako je rezultat poređenja tačan, skript izvršava iskaz koji sledi iza iskaza if • S druge strane, ako je rezultat provere pogrešan, skript preskače iskaz koji sledi • Format iskaza if je sledeći: if (uslov je ispunjen) iskaz;
Uslovno izvršavanje • Uslov if može da se koristi za izvršavanje jednog ili više iskaza • Kada skript izvršava samo jedan iskaz koji dolazi iza if, to je prost iskaz: if (Age >= 18) alert(“Register to vote at www.VoterRegistration.com”); • Za skriptove koji treba da izvrše nekoliko iskaza kada uslov bude ispunjen, iskazi se moraju grupisati između leve i desne vitičaste zagrade ({}). Iskazi koji se nalaze u zagradama sačinjavaju složen iskaz: if (time > 10) { document.write("<b>Good day</b>"); document.bgColor="lightyellow"; }
Predefinisani objekti • JavaScript poseduje izvestan skup predefinisanih objekata: Date, Array, Math. • Razmotrićemo ih na primeru objekta Date. • Novi objekat se kreira upotrebom operatora new: var danas =new Date(); • Dateposeduje metode koje se mogu koristiti pri manipulaciji objektom: • getHours()-za dobijanje časova • getMinutes()-za dobijanje minuta • getMonth() -za dobijanje meseca varsada =new Date();document.write("Vreme je:" + sada.getHours() + ":" + sada.getMinutes() + "<br />”);
Primer 5. <html> <head> <title> Primer uslovnog izvršavanja </title> </head> <body> <script type="text/javascript"> <!-- var sada = new Date() var time = sada.getHours() document.write("Vreme je:" + sada.getHours() + ":"+ sada.getMinutes()+ "<br />“); if (time > 10) { document.write("<b>Good day</b>"); } // --> </script> </body> </html> Snimite dokument pod nazivom Primer5.html na D disk (D:\Grupa I\JavaScript\Primer5.html)
Uslovno izvršavanje • Većinom skriptovi zadaju jedan skup iskaza koji se izvršava kada je uslov ispunjen i drugi skup ako uslov nije ispunjen • Definisanje iskaza koji se izvršavaju kada uslov nije ispunjen realizuje se iskazom else • Format iskaza else je sledeći: if(uslov je ispunjen) iskaz; else iskaz;
Primer 6. <html><head> <title> Primer uslovnog izvršavanja </title> </head> <body> <script type="text/javascript"> var sada = new Date() var time = sada.getHours() document.write("Vreme je:" + sada.getHours() + ":"+ sada.getMinutes()+ "<br />“); if (time < 10) { document.write("<b>Good morning</b>"); } else { document.write("<b>Good day</b>"); } </script> </body> </html> Snimite dokument pod nazivom Primer6.html na D disk (D:\Grupa I\JavaScript\Primer6.html)
Petlje ponavljanja • Petlje ponavljanje – označavaju ponavljanje niza koraka dok se ne postigne uslov koji će dozvoliti da se iz petlje izađe • Najčešća konstrukcija povratne petlje koja se koristi u JavaSriptu – for(početni izraz; uslov; obnavljajući izraz) { naredbe unutar petlje; }
Petlje ponavljanja Na primer: for (Count = 1; Count <=5; Count++) Iskaz; • Iskaz Count=1 dodeljuje kontrolnoj promenljivoj početnu vrednost • Petlja for izvodi ovu inicijalizaciju samo jednom, kada se pokrene • Zatim proverava uslov Count<=5 • Ako je uslov ispunjen petlja for će izvršiti iskaz koji sledi • Ako uslov nije ispunjen, petlja će se završiti i skript će nastaviti sa izvršavanjem od prvog iskaza koji sledi nakon petlje • Ako je uslov ispunjen i petlja for izvršava iskaz povećaće promenljivu Count korišćenjem iskaza Count++
Primer 7. <html> <head> <title> For petlja </title> </head> <body> <script type="text/javascript"> <!-- for (i = 0; i <= 5; i++) { document.write("The number is " + i); document.write("<br />"); } // --> </script> </body> </html> Snimite dokument pod nazivom Primer7.html na D disk (D:\Grupa I\JavaScript\Primer7.html)
Ponavljanje iskaza dok je uslov ispunjen • Kad skriptovi moraju da prolaze kroz petlju dok god je određeni uslov ispunjen, ali ne obavezno određen broj puta, mogu da koriste while petlju • Opšti oblik while petlje: while (Uslov je ispunjen) iskaz;
Ponavljanje iskaza dok je uslov ispunjen • Na primer: while (i <= 10) Iskaz; • Kada skript naiđe na petlju while, prvo proverava zadati uslov • Ako je ispunjen – skript izvršava iskaze petlje while • Nakon što se izvrši poslednji iskaz u petlji, petlja while ponovo proverava uslov • Ako je uslov i dalje ispunjen, iskazi će se ponoviti i proces će se nastaviti • Kada uslov ne bude ispunjen, petlja će se završiti i skript će nastaviti izvršenje od prvog iskaza koji sledi petlju
Primer 8. <html> <head> <title>While petlja </title> </head> <body> <script type="text/javascript"> <!-- i = 0; while (i <= 10) { document.write("The number is " + i); document.write("<br />"); i=i+1; } // --> </script> </body></html> Snimite dokument pod nazivom Primer8.html na D disk (D:\Grupa I\JavaScript\Primer8.html)
Model objekata dokumenta Objekat prozora Objekat dokumenta Objekat obrasca Elementi obrasca
<html> <head><title> Simple doc </title></head> <body> <h1> Hello </h1> </body> </html> Jednostavan dokument Window Document
<html> <head><title> Simple doc </title></head> <body> <h1> Hello </h1> <form> </form> </body> </html> Dodavanje obrasca Window Document Form
<html> <head><title> Simple doc </title></head> <body> <h1> Hello </h1> <form> <input type=“text”> </form> </body> </html> Dodavanje elementa za unos teksta Window Document Form Text
<html> <head><title> Simple doc </title></head> <body> <h1> Hello </h1> <form> <input type=“text”> <input type=“button”> </form> </body> </html> Dodavanje elementa dugme Window Document Form Text Button
Reference objekata • Pošto je dokument učitan u čitač, svi njegovi objekti su sigurno uskladišteni u memoriji, sa strukturom koja zadržava hijerarhiju po specifikaciji čitača • Kako bi skript kontrolisao jedan od objekata – mora da postoji način da se pokaže na objekat i saznaju podaci koje sadrži • Jezik JavaScript koristi strukturu koja zadržava hijerarhiju kako bi omogućio skriptovima da stupe u vezu sa objektima u dokumentu – referenca objekta
Imenovanje objekta • Za referenciranje objekata u skriptovima – dodeljivanje imena svakom objektu kome se može dodeliti skript u HTML-u • Skriptabilni čitači prihvataju opcioni atribut oznake koji se zove name • Omogućava da se svakom objektu dodeli jedinstveno ime • Referenca svakog objekta mora da uključi korake duž hijerarhije objekata, počev od vrha do samog objekta, bez obzira koliko nivoa će biti uključeno • U jeziku JavaScripta svaki uzastopni objekat tačkom je odvojen od drugog objekta
Reference prozora, dokumenta i objekta obrasca window window.document window window.document window.document.formName Window Document Window Document Form