660 likes | 856 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
Postupanje sa starijim čitačima koji ne podržavaju skriptove • Kada se u HTML dokument uvrsti skript nije osigurano da čitač Weba posetioca podržava izvršenje skripta • Da bi se posetilac upozorio o tome da HTML dokument sadrži skript koji njegov čitač ne može da izvrši, mogu se koristiti oznake <noscript> </noscript> • Najbolje mesto za postavljanje oznake <noscript> je odmah iza oznake </script> • Između oznaka <noscript> </noscript> treba uneti tekst koji će čitač Weba prikazivati ako ne podržava skriptove
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> <noscript> No JavaScript support, ... SORRY! </noscript> <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
Korišćenje komentara • Komentar se u Java iskaze postavlja umetanjem dve kose crte (//) za jednoredne komentare: //Ovo je komentar • JavaScript podržava i blok komentare koji počinju kosom crtom i zvezdicom (/*) a završavaju se sa zvezdicom i kosom crtom (*/): /* Čitač će ignorisati kompletan tekst na koji naiđe nakon kose crte i zvezdice kojima počinje blok komentar dok ne učita zvezdicu i kosu crtu kojima se završava višeredni blok komentar. */
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: ” + 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. <html> <head> <title> Funkcija zbira </title> <script type="text/javascript"> <!-- function FindTotal(first,next,last) { var total = first + next + last; document.write ("Unete vrednosti su: <br>" +first+ "<br>"+next+ "<br>" +last+ "<br> <b>Njihov zbir je:</b>" + total + " . “); } // --> </script> </head> <body> <script type="text/javascript"> <!-- FindTotal(2,3,4); // --> </script> </body> </html> Snimite dokument pod nazivom Primer4b.html na D disk (D:\Grupa I\JavaScript\Primer4b.html)
Primer 4c. • Napraviti Web stranu koja prikazuje tri vrednosti i njihov proizvod, kao što je prikazano na slici. Realizovani primer sačuvati pod nazivom: Primer 4c.
Primer 4c. <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 Primer4c.html na D disk (D:\Grupa I\JavaScript\Primer4c.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 koji 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 d = new Date() var time = d.getHours() var sada = new Date() 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 d = new Date() var time = d.getHours() var sada = new Date() 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)
Obrada događaja u JavaScriptu onClick="javascript: function('value');" ili onClick="function('value');"
Primer 9. <html> <head> <title> Obrada događajaClick</title> </head> <body> <form> Primer poziva dijaloga: <br> <input type="button" value="DijalogALERT!“onClick="alert('Ovo je dijalog ALERT!')“> <br> </form> </body> </html> Snimite dokument pod nazivom Primer9.html na D disk (D:\Grupa I\JavaScript\Primer9.html)
Primer 10. <html> <head> <title> Obrada događaja Click </title> </head> <body> <form> Primer poziva dijaloga:<br> <input type="submit" onClick="alert('Submit Me!')"> <input type="radio" name="radset" onClick="alert('Radio Selected!')"> <br> </form> </body> </html> Snimite dokument pod nazivom Primer10.html na D disk (D:\Grupa I\JavaScript\Primer10.html)
Primer 11. <html> <head> <title> Obrada događaja Click</title> </head> <body> <a href="http://www.htmlgoodies.com" onClick="alert('Pristupamo sajtu o HTML-u.?');">HTML Goodies</a> </body> </html> Snimite dokument pod nazivom Primer11.html na D disk (D:\Grupa I\JavaScript\Primer11.html) www.html.goodies.com
Primer 12. <html><head><title> Obrada događaja MouseOver </title> </head> <body bgcolor="ffffff" text="000000" link="0000ff" vlink="800080" alink="ff0000"> <p> </p><p> </p> <center> <font size="+2"> <a href=""onMouseOver="document.bgColor='black'">Black</a> <a href=""onMouseOver="document.bgColor='green'">Green</a> <a href =""onMouseOver="document.bgColor='yellow'">Yellow</a> <a href =""onMouseOver="document.bgColor='red'">Red</a> <a href =""onMouseOver="document.bgColor='brown'">Brown</a> <a href =""onMouseOver="document.bgColor='white'">White</a> </font> </center> </body> </html> Snimite dokument pod nazivom Primer12.html na D disk (D:\Grupa I\JavaScript\Primer12.html)
Primer 13. <html> <head> <title> Obrada događaja Error </title> <script type="text/javascript"> function abortImage() { alert('Error: Loading of the image was aborted'); } </script> </head> <body> <img src="image.gif" onError="abortImage()"> </body> </html> Snimite dokument pod nazivom Primer13.html na D disk (D:\Grupa II\JavaScript\Primer13.html)