JavaScript Tutor
Lekcija 1
Lekcija 2
Lekcija 3
Lekcija 4
   Lekcija 5
Lekcija 6

Lekcija 7

iDragstor Lab


  
If, Else komande i logicki operateri

If(ako je uslov ispunjen) / Else(u suprotnom)

U programiranju se cesto javlja potreba za uvodjenjem logike ili nacina da program izvrsi odredjene akcije u zavisnosti od nekakvih uslova. Recimo, ako je ispunjen jedan uslov program ce uraditi jednu stvar, ako je ispunjen drugi uslov onda ce uraditi nesto drugo a ako je ispunjen neki treci uslov ili nijedan od prva dva program ce uraditi nesto trece. Za ovakvo uslovljavanje ili logicko razmisljanje JavaScript koristi komandu IF/Else i logicke operatere o kojima cemo nesto kasnije.
If komanda za izvrsenje jedne linije programa
If komanda se koristi za testiranje nekog uslova i akcije koja treba da se izvrsi ako je taj uslov ispunjen. Primer, ako korisnik zeli da ide na godisnji odmor u mesecu Julu, onda zelimo da mu damo popust na avio karte u vrednosti od 25%. Sintaksa za ovaj slucaj izgleda ovako:
If (mesec == "Juli") document.write("Cestitamo dobili ste popust od 25%")
Znaci nakon komande If u zagradi ispitujemo uslov i ako je uslov ispunjen dajemo poruku pomocu document.write() naredbe. JavaScript koristi znak "==" za utvrdjivanje jednakosti sto je veoma znacajno jer znak "=" ima drugu funkciju. If komande su case-sensitive u ispitivanju uslova, sto znaci da Juli nece biti isto sto i juli. U sledecem primeru koristicete If komandu da ispitate koji je korisnikov omiljeni sport i u zavisnosti od odgovora prikazacete poruku.
<HTML>
<HEAD>
</HEAD>
<BODY>
<script language = "JavaScript">
var sport = prompt("Koji je vas omiljeni sport","")
if (sport=="kosarka") document.write("Kosarka je veoma interesantan sport!")
</script>
</BODY>
</HTML>
If komanda za izvrsenje nekoliko linija programa
U daljem programiranju pojavice vam se potreba da nakon sto je uslov ispitan izvrsite vise od jedne linije KOD-a. Naprimer mozete prikazati nekoliko poruka, ili prikazati poruku i postaviti drugo pitanje pomocu prompt kutije. Za izvrsenje nekoliko linija KOD-a koriste se velike zagrade "{}". Primer:
if (x==1) {
Akcija 1
Akcija 2
Akcija 3 }
U sledecem primeru mozete videti kako JavaScript izvrsava nekoliko linija koda.
<HTML>
<HEAD>
</HEAD>
<BODY>
<script language = "JavaScript">
var sport = prompt("Koji je vas omiljeni sport","")
if (sport=="kosarka") {
var vrsta = prompt("Koju vrstu kosarke volite MBA/Evropska?","MBA")
vrsta = vrsta.toLowerCase()
if (vrsta=="mba") {
document.write("MBA Kosarka je veoma interesantna!<br>")
document.write("MBA Kosarka je najaca liga na svetu")}
if (vrsta=="evropska") {
document.write("Evropska Kosarka je veoma interesantna!<br>")
document.write("Evropska Kosarka je jedna od najacih liga na svetu")}
}
</script>
</BODY>
</HTML>
If/Else komanda
U programiranju se cesto javlja potreba da se ispitaju odredjeni uslovi, na osnovu tih uslova izvrse odredjene akcija a ukoliko nijedan od uslova nije ispunjen izvrsi neka genericna akcija. Recimo, mozete upitati korisnika koje mu je boje automobil. Ako je crvene, plave ili zelene boje program ce izvrsiti advekvatne akcije a ako je bilo koje druge boje program ce upotrebiti genericnu akciju koja se odnosi na sve ostale boje.Za to se u JavaScript-u koristi komanda If/Else.Pogledajte sintaksu:
If (prvi uslov) {akcije)
Else If (drugi uslov) {akcije}
Else If (treci uslov) {akcije}
Else (akcije u slucaju da predhodna 3 slucaja nisu ispunjena}
U sledecem primeru videcete kako se koristi If/Else
<HTML>
<HEAD>
</HEAD>
<BODY>
<script language = "JavaScript">
var sport = prompt("Koji je vas omiljeni sport","")
sport = sport.toLowerCase()
if (sport=="kosarka") {
document.write("Kosarka je veoma interestan sport!<br>")}
else if (sport=="vaterpolo") {
document.write("Vaterpolo je veoma interestan sport!<br>")}
else if (sport=="futbal") {
document.write("Futbal je veoma interestan sport!<br>")}
else {document.write("Ovaj uslov nije poznat!<br>")}
</script>
</BODY>
</HTML>
Znaci ako vam je omiljen sport kosarka, futbal ili vaterpolo dobicete unikatnu poruku a ako je neki drugi sport u pitanju dobicete genericnu poruku: Ovaj uslov nije poznat!
Ostali znaci poredjenja
Osim ispitivanja jednakosti (==) bice vam potrebno da ispitate i druge uslove kao sto su nejednakost, vece , manje, itd. Za ovo se koriste sledeci znaci:
Nejednakost (!=)
Vece (>)
Manje (<)
Vece ili jednako (>=)
Manje ili jednako (>=)
U sledecem primeru pitacete korisnika koliko je sati (0-24) i u zavisnosti od odgovora prikazati poruke koristeci se If/Else komandom.
<HTML>
<HEAD>
</HEAD>
<BODY>
<script language = "JavaScript">
var hour = prompt("koliko je sati 0-24","")
if (hour<12){
document.write("Dobro Jutro")
}
else if(hour<24){
document.write("Dobar Dan")
}
else {
document.write("Pogresili ste broj sati")
}
</script>
</BODY>
</HTML>
Logicki operateri
U daljem programiranju naicicete na potrebu da ispitujete vise od jednog uslova. Recimo pitacete korisnika koji mu je omiljeni sport i ako je kosarka ili futbal preuzecete neku akciju, ili ako je futbal i vaterpolo uradicete nesto drugo ili ako nije biciklizam uradicete nesto trece. Za ovakvu vrstu logike koriste se logicki operateri AND(i) OR(ili) i NOT(negacija) . Pogledajte simbole za ove operatere:
AND(i)            &&
OR(ili)              ||
NOT(negacija)   !
Operater AND(&&) ispituje dva ili vise uslova i proizvodi Boolian rezultat (true/false ili tacno/netacno). Da bi rezultat bio true (tacno) svi uslovi moraju da budu tacni. Ako je jedan od uslova netacan rezultat ce uvek biti false (netacno). Pogledajte sledeci primer:
If (x==1 && y==2) {document.write("x je 1 i y je 2)}
U ovom primeru document.write komanda ce biti izvrsena samo ako su oba uslova ispunjena (x==1 i y==2), u suprotnom ako je jedan od uslova netacan (false) rezultat proizveden AND (&&) operaterom ce biti false tako da se komanda nece izvrsiti.
Operater OR(||) bas kao i AND ispituje dva ili vise uslova i proizvodi Boolian rezultat (true/false ili tacno/netacno). Da bi rezultat bio true (tacno) barem jedan od uslova mora biti tacan. Ako su oba uslova netacna OR operater ce proizvesti false (netacno). Pogledajte sledeci primer:
If (x==1 || y==2) {document.write("x je 1 ili y je 2)}
U ovom primeru document.write komanda ce biti izvrsena ako je jedan od uslova ispunjen (x==1 ili y==2), u suprotnom ako su oba uslova netacna (false) rezultat proizveden OR (||) operaterom ce biti false tako da se komanda nece izvrsiti.
Operater NOT (!) ispituje odredjen uslov i proizvodi suprotan rezultat. Ako je uslov tacan(true) NOT operater ce priozvesti netacno(false) i obrnuto, ako je uslon false NOT ce proizvesti true. Pogledajte sledeci primer:
var x = 2
if (x!=1) {
document.write("x je jednako 2, uslov negacije x!=1 je ispunjen")
}
U ovom primeru document.write komanda ce biti izvrsena zato sto je uslov da x nebude jednak 1 (x!=1) ispunjen.
Kraj pete lekcije ..
Logicki operateri su veoma korisni u izgradnji kompleksne logike i cesto se koriste u programiranju. Uradite sledeci primer pre nego sto predjete na sledecu lekciju i vezbajte kombinaciju If/Else komandi sa logickim operatirima. Ovo ce vam pomoci u daljem programiranju.
<HTML>
<HEAD>
</HEAD>
<BODY>
<script language = "JavaScript">
var brzina_bicikla = parseInt(prompt("Kolikom prosecnom brzinom vozite bicikl u km/s",""))
var brzina_trcanja = parseInt(prompt("Kolikom prosecnom brzinom trcite kada vezbate u km/s",""))
 if ((brzina_bicikla < 1) || (brzina_trcanja < 1)) {
     document.write("Ivalidni podaci molimo vas da pokusate ponovo!")}
 else if ((brzina_bicikla) >= 20 && (brzina_trcanja >= 6)) {
     document.write("Vi ste ozbiljan atleticar!")}
 else if ((brzina_bicikla) >= 20 || (brzina_trcanja >= 6)) {
     document.write("Vi ste u prilicno dobroj kondiciji!")}
 else if ((brzina_bicikla <=20)) {
     document.write("Probajte da vozite bicikl malo cesce!")}
 else {document.write("Nijedan od uslova nije ipunjen - ovo je Else slucaj")}
</script>
</BODY>
</HTML>


Predhodna Lekcija Pocetak Sledeca Lekcija