e-gradiva | HTML | CSS | JavaScript | Načrtovanje | |||||
SERŠ Maribor | Iskanje | Primeri |
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:
koda | izpis |
---|---|
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
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
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
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];
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
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 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 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"))
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.
nivo | operator | opomba |
---|---|---|
1 | () | od notranjega navzven |
[] | vrednost indeksa polja | |
function() | klic katerekoli funkcije | |
2 | ! | logična negacija |
~ | bitna negacija | |
- | negacija | |
++ | inkrementiranje | |
- | dekrementiranje | |
new | negacija | |
typeof | tip spremenljivke | |
void | ||
delete | brisanje 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