JS00.qxd
9/27/2006
1:34 PM
Page xi
A SZERZÕRÕL Michael Moncur szabadúszó webmester és szerzõ. Webhelyek hálózatát mûködteti, köztük a Világháló legrégebbi weboldalát a híres idézetekrõl, amely 1994 óta mûködik. Számos kiváló könyve jelent meg a DHTML-rõl (például a Sams Teach Yourself DHTML in 24 Hours), a hálózatokról és a CNE és MCSE programokról, illetve az adatbázisokról. Feleségével a Utah állambeli Salt Lake City-ben él.
Ajánlás Családomnak, különösképpen Laurának. Köszönet a szeretetért és a támogatásért.
Köszönetnyilvánítás Szeretnék köszönetet mondani a Sams összes dolgozójának, amiért segítettek ennek a könyvnek a létrejöttében, és köszönöm a lehetõséget, hogy írhattam. Szeretném külön kiemelni Betsy Brown nevét, aki sokat segített az elindulásban. A munkát Songlin Qiu irányította, a szerkesztési folyamatot Matt Purcell és Jessica McCarty tartotta kézben, akik megmentettek attól, hogy bosszantó hibákat kövessek el. A programokat Jim O’Donnell tesztelte, és segített ellenõrizni, hogy mindaz, amit leírok, megfelel a valóságnak. Hálás vagyok azoknak is, akik részt vettek a könyv elõzõ kiadásainak elkészítésében, beleértve Scott Meyerst, David Mayhew-t, Sean Medlockot, Susan Hobbst, Michelle Wynert, Jeff Schultzot, Amy Pattont, George Nedeffet és Phil Karrast is. Szeretném még megköszönni Neil Salkindnak és a Studio B többi tagjának, hogy folyamatos segítséget nyújtottak a könyv megírásához.
JS00.qxd
9/27/2006
1:34 PM
Page xii
xii Tanuljuk meg a JavaScript használatát 24 óra alatt
Végül szeretném kifejezni személyes köszönetemet feleségemnek, Laurának, szüleimnek, Gary és Susan Moncurnak, a család többi tagjának és a barátaimnak, különös tekintettel Chuck Perkinsre, Matt Strebe-re, Cory Stormra, Robert Parsonsra, Dylan Winslow-ra, Ray Jonesra, Tyron Jensenre, Curt Siffertre, Richard Easlickre és Henry J. Tillmanre. Nem tudtam volna mindezt véghezvinni a támogatásotok nélkül.
JS00.qxd
9/27/2006
1:34 PM
Page xiii
BEVEZETÉS A Világháló kezdetben nem volt több egyszerû adattárnál, mára azonban hatalmas változásokon ment keresztül: szórakoztat, tanít és kapcsolatot tart. A Web fejlõdésével párhuzamosan fejlõdtek az eszközök is. Az egyszerû jelölõnyelvekhez (ilyen például a HTML) valódi programozási nyelvek társultak, többek között a JavaScript. Ne ijedjünk meg a programozás szótól! Sok olvasó számára ez a kifejezés azt jelenti, hogy hosszú éjszakákat kell a képernyõ elõtt tölteni azon morfondírozva, milyen sorrendben kell leírni a különféle írásjeleket a kívánt hatás eléréséhez. (Ne értsük félre, de néhányunk kifejezetten élvezi az ilyesfajta dolgokat.) Bár a JavaScript programozási nyelv, valójában nagyon egyszerû. Annak, aki még soha nem programozott, ez a nyelv kiváló bevezetõ lehet a programozás világába. Nagyon kevés tudásra van szükség ahhoz, hogy JavaScript programokat kezdhessünk írni: az elsõ programot már a 2. lecke során el fogjuk készíteni. Aki készített már HTML nyelvû weboldalakat, a JavaScript segítségével könnyedén feljavíthatja azokat. A JavaScript program állhat egyetlen sorból, de lehet teljes értékû alkalmazás is. A könyv során elõször egyszerûbb programokat készítünk, majd fokozatosan haladunk az összetett alkalmazások felé (elkészítünk például egy kártyajátékot), és felfedezzük a JavaScript legújabb képességeit is, például a távoli parancsvégrehajtást (AJAX). Ha sok idõt töltöttünk már weboldalak fejlesztésével, akkor tisztában vagyunk azzal, hogy a Világháló folyamatosan változik, és igen nehéz lépést tartani a legújabb nyelvekkel és eszközökkel. A könyv elolvasása után hozzáadhatjuk eszköztárunkhoz a JavaScriptet is. Én kifejezetten élveztem ennek a könyvnek az elkészítését, és remélem, hogy az Olvasó hasonlóan jól érzi majd magát a JavaScript-ismeretek elsajátítása során.
A JavaScript és a webes szabványok Amikor a JavaScript elõször megjelent a böngészõkben, képességei meglehetõsen korlátozottak voltak, de a JavaScript-programozók folyamatosan feszegették a határokat, hogy a lehetõ legteljesebb mértékben kihasználhassák a nyelv szolgáltatásait. Sajnos ez helytelen programok írásához vezetett: egyes parancsfájlok csak egyetlen böngészõfajtában mûködtek, ezért a JavaScript meglehetõsen rossz hírbe keveredett.
JS00.qxd
9/27/2006
1:34 PM
Page xiv
xiv Tanuljuk meg a JavaScript használatát 24 óra alatt
A W3C (World Wide Web Consortium) szabványait támogató új böngészõk széles körû elterjedésének és az AJAX-hoz hasonló új megoldásoknak köszönhetõen azonban a JavaScript jövõje ma már minden korábbinál fényesebbnek tûnik, és az új, felelõsségteljesebb programozási módszerek is kezdenek teret nyerni. A nem tolakodó programozás elveit követve úgy bõvíthetjük interaktív szolgáltatásokkal a weboldalainkat, hogy azok HTML kódja egyszerû és a szabványoknak megfelelõ marad. Ebbõl a könyvbõl megtanulhatjuk annak az irányelveit, hogy miként tartsuk be a szabványokat és használjuk a JavaScriptet körültekintõen. A könyv valamennyi példaprogramjából számûztük a böngészõfüggõ megoldásokat, és szabványos eljárásokat alkalmaztunk, így a programok a mai böngészõk többségében mûködni fognak. Hogyan használjuk a könyvet? A könyvet 24 leckére osztottuk. Minden lecke egy-egy témakört jár körbe, és a leckék egyetlen óra alatt teljesíthetõk. A tanulást a JavaScript alapjainál kezdjük, és innen haladunk folyamatosan a bonyolultabb témák felé. A könyvet elolvashatjuk egyetlen nap alatt, de bármilyen más ütemben is. (Ha lemondunk az alvásról, és tanulással töltünk egy 24 órás idõtartamot, megtudhatjuk, milyen is számítástechnikai könyvek szerzõjének lenni.)
A könyv felépítése A könyv hat részre oszlik, amelyek mindegyike a JavaScript egy-egy területére összpontosít: • Az I. rész (A webes parancsnyelvek és a JavaScript) bemutatja a JavaScriptet, leírja annak helyét a programozási nyelvek között, és ismerteti a nyelv legfontosabb szolgáltatásait. Emellett betekintést nyerünk a DOM (dokumentumobjektum-modell) szerkezetébe is, amely a JavaScriptet a webdokumentumokhoz kapcsolja. • A II. rész (A JavaScript alapjai) a JavaScript alapvetõ elemeit tárgyalja: a változókat, függvényeket, beépített függvényeket, objektumokat, ciklusokat és feltételes utasításokat. Ezen kívül a külsõ fejlesztésû programkönyvtárakról is tanulunk, amelyek különbözõ szolgáltatásokkal bõvítik a JavaScriptet. • A III. rész (A DOM részletesebben) mélyebbre ás azoknak a DOM objektumoknak a világában, amelyeket majdnem minden JavaScript programban használni fogunk. Tárgyaljuk az eseményeket, az ablakokat és a webes ûrlapokat, valamint megismerjük a CSS stíluslapokat és az azok megváltoztatását segítõ DOMszolgáltatásokat. Végül a W3C DOM-mal foglalkozunk, amely lehetõvé teszi, hogy JavaScript kóddal az oldalak bármely elemét módosítsuk. • A IV. rész (A JavaScript haladó lehetõségei) elején a nem tolakodó programozási módszereket vesszük, amelyek megakadályozzák, hogy a felhasználókra erõltessünk JavaScript-szolgáltatásokat, és megõrzik a HTML dokumentumok érvényes-
JS00.qxd
9/27/2006
1:34 PM
Page xv
Tanuljuk meg a JavaScript használatát 24 óra alatt xv
ségét. Ezt követõen az alkalmazások hibáinak megkeresésére látunk módszereket és eszközöket, majd megismerkedünk két új lehetõséggel: az AJAX és a Greasemonkey használatával. • Az V. rész (Multimédiás alkalmazások készítése a JavaScript segítségével) a JavaScript azon lehetõségeit tárgyalja, amelyek a grafikákkal, animációkkal, hangokkal és böngészõbõvítményekkel végzett munkához állnak rendelkezésre. • A VI. rész (Összetett programok készítése) az összetett JavaScript alkalmazások készítésére összpontosít. Megtanuljuk, hogyan készíthetünk lenyíló menüket, kártyajátékokat és így tovább. Az utolsó leckében a JavaScript jövõjére vetünk egy pillantást, illetve azokra a nyelvekre, amelyekkel a késõbbiekben szintén érdemes megismerkednünk.
A könyvben használt jelölések A könyvben a következõ különleges jelöléseket használtuk: A tippek a programjainkat hatékonyabbá és hatásosabbá tevõ különbözõ megoldásokra hívják fel a figyelmet.
A megjegyzések az éppen tanultak megértését igyekeznek megkönnyíteni.
A figyelmeztetések azokra a problémákra és mellékhatásokra hívják fel a figyelmet, amelyekkel bizonyos helyzetekben találkozhatunk.
A programozási elemeket és kifejezéseket azonos szélességû betûkkel szedtük.
Gyakorlat A fejezetek végén található Gyakorlatokban lépésrõl lépésre készítünk el programokat, amelyekben a leckében tanult megoldásokat alkalmazzuk. Segítségükkel könnyebben készíthetünk a mindennapok során használható JavaScript alkalmazásokat.
JS00.qxd
9/27/2006
1:34 PM
Page xvi
xvi Tanuljuk meg a JavaScript használatát 24 óra alatt
Kérdezz-felelek, Ismétlõ kérdések és Gyakorlatok A leckék végén három lezáró részt találunk. A Kérdezz-felelek címû részben a lecke témájához kapcsolódó, gyakran felmerülõ kérdésekre adunk választ. Az Ismétlõ kérdések próbára teszik a tudásunkat, a Gyakorlatok pedig a lecke során elsajátított anyag gyakorlásában segítenek. A könyv honlapja Mivel a JavaScript és a Világháló folyamatosan változnak, ismereteinket naprakészen kell tartanunk a könyv elolvasása után is. A könyv honlapja mindig friss adatokat tartalmaz, és megtaláljuk rajta a könyv példáihoz tartozó képeket és forráskódokat is. A honlap eléréséhez be kell jegyeztetnünk könyvpéldányunkat a következõ címen: http://www.samspublishing.com/register
A szerzõ honlapja Michael Moncur (a szerzõ) a http://www.jsworkshop.com címen szintén fenntart egy honlapot, amely a könyvhöz kapcsolódik. Itt rendszeresen frissített híreket olvashatunk a JavaScript nyelvrõl és a DOM-ról, valamint hivatkozásokat találunk mintaprogramokhoz és részletes oktatóanyagokhoz. Kedves Olvasó! Ha kérdései vagy megjegyzései vannak a könyvvel kapcsolatban, ha valamilyen hibát fedezett fel benne, vagy gondjai támadnak a programok futtatásával, a
[email protected] címen is felveheti a kapcsolatot a könyv szerzõjével. (Kérjük, elõször mindenképpen ellenõrizze a honlapon, hogy felmerült-e már az adott kérdés.)