Az objektumok
A Javascript objektum-orientlt nyelv, teht objektumokkal s azok mezivel s metdusaival dolgozik. A mezk a megfelel objektumok egy-egy tulajdonsgt kpviselik, illetve a metdusok segtsgvel mveleteket vgezhetnk rajtuk. A megads mdja mindig objektumnv . mez. Amennyiben egy olyan metdust hvunk, ami nem tartozik konkrt objektumhoz, csak a tpushoz (statikus metdusok), akkor az objektum nevt a tpus nevvel kell helyettesteni.
Lehetsg van a HTML-objektumok definilsnl megadni az objektum nevt a NAME=nv attribtummal. Ekkor lehetsges lesz Javascriptbl ugyanezen a nven hivatkozni r (kivtel: Area). Minden objektum rendelkezik egy name mezvel, ami a HTML-nevt tartalmazza. Ezzel ellenttben a Javascript vltozneveket nem hasznlhatjuk a HTML-kifejezsekben! A msik md a HTML-objektumok elrsre hogy az t tartalmaz objektumnak a legtbbszr van egy tmbje, ami a benne definilt objektumokat tartalmazza, definilsi sorrendben. Ekkor csak az indext kell megllaptani.
A tpusok
A Javascript egy laza tpusokat hasznl nyelv, teht a vltozknak s kifejezseknek nem rgztett a tpusa, hanem a felhasznlsnak megfelelen vltozik. Ennek kvetkeztben igen srek az automatikus tpuskonverzik. Ha egy kifejezsnek nincs rtke, de a kd azt vrja, ez hibajelzshez vezet.
Opertorok
Az sszes C-ben hasznlhat opertor itt is hasznlhat, az eltrsek a kvetkezk:
- >> egyszeren kettvel osztja a szmot, az eljelet megtartva.
- >>> jobbra tolja a szmot, s balrl nullkkal tlti fel, teht az eljel megvltozhat!
- a logikai kifejezsek nem felttlenl rtkeldnek ki teljesen. Teht ha az els operandusbl lehet kvetkeztetni az eredmnyre, akkor a msodik operandus kirtkeletlen marad.
- ktfle idzjel hasznlhat: a " s a '. Ezeket felvltva hasznlva gyazhatunk egymsba idzjeleket. Egybknt egy \-t rva el hasonl hatst rhetnk el.
- az idzjelek kz zrt szveg automatikusan egy string objektum, teht tetszleges mveletek vgezhetk vele.
Klnleges kifejezsek
- true s false konstansok igaz s hamis rtkekkel.
- this ez mindig az aktulis objektumra hivatkoz vltoz.
- null a semmilyen objektumra hivatkozik.
- void(kifejezs) kirtkeli a kifejezst, majd elnyeli az rtkt, aminek kvetkeztben a teljes kifejezsnek nem lesz rtke.
- typeof(objektum) egy stringet ad vissza, ami a kifejezs tpust jellemzi.
- new tpus(paramterek) rtke egy j objektum a megadott tpusbl, a megadott paramterekkel (ezeknek jelentse tpusonknt vltoz).
- return [kifejezs] fggvnybl visszatr a megadott kifejezs rtkvel, vagy rtk nlkl.
- function nv(paramterek) { utastsok; } definil egy adott nev fggvnyt, a paramterek a fggvny belsejben mint vltozk hasznlhatk.
- var nv [= kifejezs] definil egy vltozt. Ha mg nincs ilyen nev, akkor a var elhagysval egy rtkads is definilhatja.
- eval(string) kirtkeli a megadott Javascript kifejezst
- parseInt(string) egsz szmm konvertlja a stringet
- parseFloat(string) lebegpontos szmm konvertlja
- isNaN(szm) megadja, hogy a szm rvnytelen rtk-e
Vezrlsi szerkezetek
Beptett objektumok
navigator
Ennek segtsgvel megtudhatunk nhny dolgot a bngsznkrl.
- appCodeName a bngsz kdneve
- appName a bngsz neve
- appVersion a verziszma, platformja, s orszgkdja egy stringben
- javaEnabled megadja, hogy engedelyezett-e a Java
- userAgent ezt az stringet kldi a szervereknek adattvitelkor
internet-cmek
Ilyen objektum ugyan nem ltezik, de sok hasonl igen. Itt sszefoglaljuk a kzs meziket.
- hash a # s utna a jelz neve
- host hostname + ":" + port
- hostname a gp neve
- href a teljes cm
- pathname az elrsi t a gpen
- port a port szma
- protocol a cm kezdete a :-ig
- search a ? s az utna kvetkez krs
Array
Tmbket lehet vele csinlni. A tmbnek nincs fix hossza, ha egy tetszleges index elemnek rtket adunk, akkor automatikusan a megfelel hosszsgra nylik. A tmb nhny eleme lehet null - az az index nem tartalmaz rvnyes hivatkozst egy objektumra. A toString() metdus vesszvel elvlasztva adja az elemek sszefzst.
new Array() ltrehoz egy res tmbt
new Array(kezdetiElemSzm) egy ekkora tmbt hoz ltre
new Array(elem, elem, elem, ...) olyan tmbt hoz ltre, mely ezeket az elemeket tartalmazza
- join(elvlaszt) sszekapcsolja az elemeket egy stringg
- sort(fggvny) rendezi az elemeket, fggvny(a, b) rtkei szerint. Ha ez pozitv, akkor a jn elbb, ha negatv, akkor b jn elbb, ha nulla, akkor nem vltozik a sorrendjk.
- reverse() megfordtja a sorrendjket
Date
Dtumok s idpontok kezelsre szolgl. Egy ilyen objektum tulajdonkppen az 1970. jan. 1. 00:00.00 ta eltelt ezredmsodpercek szma.
new Date() a mai napot hozza ltre
new Date("h nap, v ra:perc:msodperc") s a
new Date(v, h, nap [, ra, perc, msodperc]) a megfelel idpontot.
- getDate() megadja a napot
- getDay() megadja a ht napjt (0-vasrnap, 1-htf ...)
- getHours() megadja az rkat
- getMinutes() megadja a perceket
- getMonth() megadja a hnapot
- getSeconds() megadja a msodperceket
- getTime() az teljes idt
- getTimeZoneoffset() percekben az idzna eltrs a GMT-tl
- getYear() megadja az vszmot
- parse() egy stringet teljes idv alakt
- setDate(nap) belltja a napot
- setHours(ra) az rkat
- setMinutes(perc) a perceket
- setMonth(h) a hnapot
- setSeconds(mp) a msodperceket
- setTime(id) belltja a teljes dtumot
- setYear(v) belltja az vszmot
- toGMTString() GMT stringg konvertlja
- toLocaleString() helyi megads stringg konvertlja
- UTC(v, h, nap, ra, perc, mp) ezt a teljes idt adja meg
Function
Segtsgvel ltrehozhatunk egy fggvny-objektumot. Ksbb a nevhez zrjelben hozzfzve a paramtereket meg is hvhatjuk.
new Function(arg1, arg2, ... , "fggvny trzse") ltrehoz egy fggvny-objektumot ami a megadott fggvnytrzsbl ll, a paramterek nevei az elz argumentumok.
- arguments az argumentumok tmbje
Math
Matematikai konstansok s fggvnyek trhza.
- konstansok:E, LN2, LN10, LOG2E, LOG10E, PI, SQRT1_2, SQRT2
- fggvnyek:abs(szm), acos(szm), asin(szm), atan(szm), ceil(szm), cos(szm), exp(szm), floor(szm), log(szm), max(a, b), min(a, b), pow(a, b), random(), round(szm), sin(szm), sqrt(szm), tan(szm).
string
Egy karakterlnc. Ilyet legegyszerbben idzjeles szveg megadsval hozhatunk ltre.