Frissen induló sorozatunk a JavaScript programozásának alapjaiba vezeti be az olvasót. A JavaScript egy objektum alapú programozási nyelv, melyet a Netscape fejlesztett ki eredetileg LiveScript néven. A LiveScript és a Java ötvözéséből alakult ki a JavaScript, melyet először a Netscape Navigator 2.0-ban implementáltak. Sokan nevezik a nyelvet objektum orientáltnak, ami azonban nem teljesen igaz, hiszen olyan alapvető tulajdonságok, mint például az öröklődés, hiányoznak belőle.
Mi is az a JavaScript?
A JavaScript egy objektum alapú programozási nyelv, melyet a Netscape fejlesztett
ki eredetileg LiveScript néven. A LiveScript és a Java ötvözéséből alakult
ki a JavaScript, melyet először a Netscape Navigator 2.0-ban implementáltak.
Sokan nevezik a nyelvet objektum orientáltnak, ami azonban nem teljesen
igaz, hiszen olyan alapvető tulajdonságok, mint például az öröklődés, hiányoznak
belőle.
A JavaScript a Java appletektől és a Java programoktól eltérően futásidőben
kerül értelmezésre. Tehát a böngésző letölti az oldalt, megjeleníti a tartalmát,
majd értelmezi a JavaScript (vagy más nyelven írt scriptek) sorait. Már
most fontos leszögezni, hogy a JavaScript nem Java! Szintaktikájában és
felépítésében ugyan nagyon hasonlít a nevét adó proramozási nyelvre, azonban
lehetőségei sokkal korlátozottabbak.
JavaScript és a böngészők
Mivel a JavaScript interpretált nyelv, a programunk csak az oldal betöltésekor
fog lefutni, addig a HTML kód sorai között pihen. Ennek a megoldásnak az
az előnye, hogy a hibás programsorokat könnyedén tudjuk javítani, hátránya
viszont az, hogy a fáradtságos munkával megírt scriptünkhöz bárki hozzáférhet,
aki megtekinti oldalunkat.
Ha egy programot a böngésző futtat, annak vannak pozitív és negatív
tulajdonságai is. Előnyként értékelhető az, hogy a scriptünk platformfüggetlen
lesz, tehát ugyanúgy fog futni egy Macintosh gép böngészőjében, mint a
sokat dicsért Windows-os környezetben. Hátrányai közé sorolható viszont
az, hogy a script hibátlan futtatása - a szabványok többféle értelmezésének
köszönhetően - erősen a használt böngésző típusának függvénye. Jelentős
eltérések fedezhetők fel már csak Windows-os böngészők JavaScript implementációinak
összehasonlítása során is. Nézzünk csak meg egy Internet Explorer 5.0-ra
optimalizált oldalt Netscape, vagy Opera böngészőkkel! Jó esetben csak
néhány funkció nem működik az oldalon, máskor azonban az egész weblap működésképtelenné
válhat.
További problémák merülhetnek fel, ha oldalunk látogatója olyan böngészőt
használ, mely nem támogatja, vagy nem ismeri a JavaScriptet, bár ennek
valószínűsége manapság igen kicsi. E böngészők ugyanis hajlamosak arra,
hogy a számukra értelmezhetetlen utasításokat egyszerűen megjelenítik,
mintha az a weblap szövegének része lenne, elcsúfítva és feltárva ezzel
gondosan elkészített oldalunkat. Hogy ezt elkerüljük az utasításainkat
a HTML kód megjegyzései közé kell beillesztenünk: a "<!--" és "-->"
szekvenciák közé. Az újabb böngészőket nem zavarja ez a kis csalafintaság,
a HTML szabványt pontosan követő régebbi változatok pedig nem zavarodnak
össze tőle, mert egyszerűen kommentként értelmezik a valójában script-kódot
tartalmazó oldalrészeket.
A fentiek miatt nagyon fontos, hogy szem előtt tartsuk a következő
dolgokat: scripteket csak korlátozott mértékben alkalmazzunk, és lehetőleg
úgy, hogy azt több böngésző segítségével is kipróbáljuk. A másik dolog,
hogy ha amennyiben lehetőség van rá, alkalmazzunk statikus HTML megoldásokat
a feladatok ellátására és szerver-oldali ellenőrzéseket a bemenő adatok
validálására arra az esetre, ha a JavaScript kódunk ezt a feladatot a böngésző
vezriója és/vagy beállításai miatt nem képes elvégezni. Hogy egy kicsit
érthetőbb legyen: ha script segítségével automatikusan átirányítunk egy
oldalt egy másikra (később leírjuk hogyan), akkor tegyünk az oldalra egy
linket is, amelyik a másik oldalra vezet, azon böngészők számára, akik
nem értik a JavaScriptet. A problémák egy része ugyan a böngésző azonosításával
(szintén később) elkerülhető, azonban jobb a scriptek használatával csínján
bánni.
JavaScript beágyazása a HTML dokumentumba
Miután megismertük a nyelv történetét és sajátosságait, lássuk az első
programot, melynek feladata mindössze annyi lesz, hogy egy kis felbukkanó
üzenetablakban megjeleníti a "Hello World!" szöveget.
A példa egyszerű, de ugyanakkor nagyon szemléletes (remélhetőleg). A
HTML dokumentumunk fejrészébe illesztettünk be egy programsort a <SCRIPT>
tagok közé, így a böngészővel tudattuk, hogy a HTML kódot más nyelven írt
scripttel szakítjuk meg. Mivel többféle scriptnyelv is létezik (pl.: VBScript),
és ezek közül többet is használhatunk egy dokumentumon belül, a böngészőnek
megmondhatjuk, hogy mely scripteket hogyan kell értelmeznie. Ehhez a SCRIPT
tag LANGUAGE attribútumát kell beállítanunk. Ha például egyszerűen a JavaScript
szót írjuk ide be, az a böngésző számára a JavaScript 1.0-s verzióját jelenti.
Ha olyan szolgáltatásokat is használni szeretnénk, melyek ebben a verzióban
még nem szerepelnek, az attribútumnak adjuk értékül a JavaScript1.2-t,
és máris új funkciókkal bővülnek scriptünk lehetőségei.
Térjünk vissza egy pillanatra a programhoz, mely tulajdonképpen egyetlen
sorból áll, mely elvégzi a kitűzött feladatot, azaz megjeleníti üzenetünket.
Ehhez az ALERT() metódust (ha jobban tetszik függvényt, de legyünk objektum
alapúak), használtuk. Az alert eljárás használata rendkívül egyszerű a
zárójelek között kell megadnunk a megjelenítendő szöveget. Ha szövegünk
statikus, azaz nem változik, idézőjelek között kell beillesztenünk a függvénybe.
Az alert segítségével a változók értékeit is megjeleníthetjük, de erről
majd később lesz szó.