e-gradiva     HTML CSS JavaScript Načrtovanje    
  logotip  
SERŠ Maribor Iskanje Primeri

Operatorji nad predmeti

Operator typeof

Operator typeof vrne tip operanda. Ker se v JavaScript v toku izvajanja programa lahko menja tip neke spremenljivke, se lahko zgodi, da v določenem trenutku ne vemo, katerega tipa je.

Primeri:

kodaizpis
document.write(typeof(starost))
starost=33
document.write(typeof(starost))
starost="33"
document.write(typeof(starost))
starost=new Object()
document.write(typeof(starost))

Operator void

Operator void izračuna nek izraz brez vračanja vrednosti.

Primer:

V naslednjem primeru se po kliku na spodnji odstavek se mu spremeni barva ozadja v zeleno:

<p onclick="JavaScript:void(this.style.backgroundColor='green')">
Spremeni barvo ozadja v zeleno</p>.

Operator new

Operator new se uporablja za ustvarjanje vgrajenega predmeta ali predmeta, ki ga kreira uporabnik. Za konstruiranje lastnega predmeta je potrebno uporabiti funkcijo, ki določa ime, lastnosti in postopke.

Primer:

Naslednja funkcija določa predmet knjiga z lastnostjo naslov, avtor in jezik.

function knjiga(naslov, avtor, jezik)
{
   this.naslov = naslov
   this.avthor = avthor
   this.jezik = jezik
}

Nov predmet bo kreiran na naslednji način, ki bo določil knjigi vrednosti "Cheri, ti si utrujen", "Romain Gary" in "slovenski":

najljubša = new knjiga("Cheri, ti si utrujen", "Romain Gary", "slovenski")

Lastnost predmeta je lahko tudi predmet.

Primer:

Lasstnost avtor je lahko sestavljena iz imena, prevdonima in leta rojstva:

function avtor(ime, psevdonim, rojen)
{
   this.ime = ime
   this.psevdonim = psevdonim
   this.rojen = rojen
}

avtor1 = new avtor("Roma Kasev", "Romain Gary", 1914)
 

Ko je kreiran predmet avtor, ki je del predmeta knjiga, se lahko leto rojstva avtorja izpiše na naslednji način:

document.write(najljubša.avtor.rojen)

Lahko se tudi doda na kateremkoli nivoju predmeta.

Primer:

Knjigi se doda lastnost zaloznik, ki ima vrednost Založba Obzorja:

naljubsa.zaloznik = "Založba Obzorja"

Če se želi, se lahko že prej definiranemu predmetu doda lastnost na kateremkoli nivoju z uporabo lastnosti protoype.

Primer:

Lastnost zaloznik se doda predmetu knjiga, nato pa se vrednost Založba Obzorja doda točno določenemu elementu:

knjiga.prototype.zaloznik = null
naljubsa.zaloznik = "Založba Obzorja"

Operator delete

Operator delete je uporabljen za brisanje premeta, lastnosti predmeta ali določenega elementa polja. Vrne vrednost true, če je operacija možna, v nasprotnem primeru pa false.

Primer:

Predmetu sadje se kreira, določi lastnosti, nato se mu zbriše nekatere lastnosti in na koncu še sam predmet:

sadje = new Object;
sadje.ime = 'jabolko';
sadje.barva = 'rdece';
sadje.velikost = 'veliko';

delete sadje.velikost;

with(sadje) delete barva;

delete sadje;

Za brisanje lastnosti predmeta, je potrebno navesti ime lastnosti skupaj z imenom predmeta, razen če je uporabljen stavek width.

Primer:

Operator delete izbriše element polja. To ne vpliva na dolžino polja, element samo dobi vrdnost undefined. Naslednji primer izbriše elememt z indeksom 2 (jagoda):

sadje = Array ("malina", "borovnica", "jagoda", "kaki", "kivi");
delete sadje[2];

Operator this

Ta ključna beseda se nanaša na tekoči predmet. V postopku je običajno uporablja za klicanje predmeta.

Primer:

V naslednjem primeru je naprej kreirana funkcija opisLeta, ki vrne parameter predmetu. Lastnosti opis predmeta avto, ki je odvisna od neke druge lastnosti istega predmeta.

Ko je nek predmet razreda avto kreiran, lastnost opis vrne vrednost glede na funkcijo opisLeta. Ključna beseda this je uporabljena kot parameter klicane funkcije, da lahko funcija ve, kateri predmet jo je klical in ji vrne vrednost.

function opisLeta(pdm)
{
if(pdm.leto < 1999)
      return "Zastarel"
   else
      return "Nov"
}

function avto(znamka, leto, opis)
{this.znamka = znamka, this.leto = leto, this.opis = opisLeta(this)}

moj = new avto("Fiček", "1973", opisLeta(this))

operator in

Operator in divoljuje stavkom skripta opazovanje predmeta in preverjanje, če ima le-ta pravilno poimenovane lastnosti in postopke. Operand na levi strani operatorja je referenčni niz na lastnost ali postopek, operand na desni strani pa je premet, ki se ga preglejuje. Če predmet pozna določeno astnost ali postopek, izraz vrne true. Torej se lahko izraz uporabi tudi v pogojnih stavkih.

Vejični operator ,

Vejični operator se uporablja za zaporedje stavkov, ki se berejo od leve proti desni. Tipični primer je napoved več spremenljivk, kar se lahko stori z enim stavkom:

var kraj, letoRojstva, EMSO

Drugi tipični primer uporabe vejičnega operatorja je v zankah. Uporabi oba operanda in vrne vrednost drugega.

for(var i=0, j=0; i< 5; i++, j++)
   document.write(a[i, j]);

Pogojni operator ?

Pogojni operator je krajši zapis if(...) ... else .... Operator ima tri operande. Prvi operand je pogoj, ki se izračuna kot logična vrednost true ali false, drugi operand je izraz, ki bo vrnjem, če je pogoj true in tretji operand je izraz, ki bo vrnjem, če je pogoj false.

Primer:

ocena="neocenjen"
document.write("Ocena je " + ((ocena > 1) ? "pozitivna" : "ni pozitivna"))

Prednost

Kadar se v enem izrazu uporabi več operatorjev, je življenjskega pomena vedeti, kateri operator bo imel prednost pri izračunu vrednosti izraza. V spodnji tabeli so našteti vsi operatorji glede na svojo prioriteto. Operatorji z višjo prioriteto so v tabeli višje.

nivooperatoropomba
1()od notranjega navzven
 []vrednost indeksa polja
 function()klic katerekoli funkcije
2!logična negacija
 ~bitna negacija
 -negacija
 ++inkrementiranje
  -dekrementiranje
 newnegacija
 typeoftip spremenljivke
 void
 deletebrisanje vnos v polje ali v predmet
3*množenje
 /deljenje
 %ostanjek celoštevilčnega deljenja
4+seštevanje
 -odštevanje
5<<bitni pomik
 >>>bitni pomik
 >>bitni pomik
6>primerjanje
 <primerjanje
 >=primerjanje
 <=primerjanje
7==enakost
 !=neenakost
8&bitni IN
9^bitna antivaleca
10|bitni ALI
11&&logični IN
12||logični ALI
13?pogojni operator
14=prireditveni operator
 +=prireditveni operator
 -= prireditveni operator
 *=prireditveni operator
 /= prireditveni operator
 %=prireditveni operator
 <<=prireditveni operator
 >>= prireditveni operator
 >>>=prireditveni operator
 &=prireditveni operator
 |=prireditveni operator
 ^=prireditveni operator
15,ločitveni parameter

SERŠ Maribor : Strokovna gimnazija : 2003 : Sebastijan Šprager