A Javascript programozási nyelv

Szabványos könyvtárak

Beépített függvények

A Math objektum

A Math a JavaScript beépített objektuma, amely matematikai állandókat és függvényeket tartalmaz.

Kerekítés és csonkolás

A Math objektum leghasznosabb tagfüggvényei közül három, tízes számrendszerbeli értékek kerekítésére használható:

Egy adott helyiértékre nem kerekíthetünk (például tizedestörteket megadott számú tizedesjegyre). Az alábbi függvény a számot két tizedesjegyre kerekíti:

function round(szam) { return Math.round(szam * 100) / 100; }
Véletlenszámok létrehozása

A Math objektum egyik leggyakrabban használt tagfüggvénye a Math.random(), amellyel véletlenszámot hozhatunk létre. A tagfüggvény nem kér bemeneti paramétert, visszatérési értéke pedig egy 0 és 1 közötti, véletlenszerűen előállított tizedes tört.

Amikor véletlenszámra van szükségünk, általában 1 és egy megadott szám közötti egész számot szeretnénk kapni. Ezt egy általános célú véletlenszám-függvénnyel oldhatjuk meg:

function rand(szam) { return Math.floor(Math.random() * szam) + 1; }
A Math egyéb függvényei

A Math.sin() és a Math.cos() tagfüggvények szinusz-, illetve koszinusz-számításra használhatóak. Az objektumnak emellett matematikai állandókat ábrázoló tulajdonságai is vannak.

Algebrai függvények

Statisztikai és logaritmikus függvények

Egyszerű matematika és kerekítés

Dátumok használata

A Date objektum egy beépített JavaScript objektum, amely lehetővé teszi a dátumokkal és időpontokkal való kényelmes munkát. A JavaScript az időt az 1970. január 1-je éjfél óta eltelt ezredmásodpercekben számolja. Az 1970 előtti dátumokat a korábbi változatok nem támogatták, az újabbakban negatív számokként jelennek meg.

Date objektum létrehozása

Új Date objektumot a new kulcsszóval hozhatunk létre, és ilyenkor megadhatjuk az objektumban tárolni kívánt dátumot is. Az alábbi alakok bármelyikét használhatjuk:

szulinap = new Date(); szulinap = new Date("June 20, 2003 08:00:00"); szulinap = new Date(6, 20, 2003); szulinap = new Date(6, 20, 2003, 8, 0, 0);

Ha nem adunk meg paramétert, akkor az objektumban az aktuális dátum tárolódik.

Dátumok beállítása

Több set tagfüggvény is létezik, amelyek mindegyike a Date objektum valamelyik összetevőjét állítja be:

Dátumok lekérdezése

A Date objektumokból a get tagfüggvényekkel olvashatjuk ki a megfelelő tulajdonság értékét. Az alábbi get tagfüggvényeket használhatjuk:

Az időzónák

Néhány függvény, amelyek a Date objektumok helyi időzónákkal való használatát teszik lehetővé:

A JavaScript 1.2-es és újabb változataiban ugyanezen függvények UTC változatait is használhatjuk. Ezek a már ismertetett tagfüggvényekhez hasonlóan működnek, de a helyi idő helyett az UTC-t veszik alapul.

Átalakítás a dátumformátumok között

A Date objektum két különleges tagfüggvénye lehetővé teszi, hogy a dátumformátumok között átalakításokat végezzünk. Ezeket nem az általuk létrehozott és elnevezett dátumobjektumokkal, hanem magával a beépített Date objektummal kell használnunk:

Harmadik féltől származó programkönyvtárak

A JavaScript részét nem képező, más készítőktől származó programkönyvtárak arra valók, hogy kis mennyiségű kóddal is képesek legyünk bonyolult dolgokat elvégezni. Egy ilyen programkönyvtár használata általában csak annyiból áll, hogy egy vagy több fájlt a webhelyünkre másolunk, és a könyvtár betöltéséhez beillesztünk egy elemet az oldalunk kódjába.

Prototype

A Prototype készítője Sam Stephenson: segítségével egyszerűbbé tehetjük a DOM objektumokkal való munkát, az űrlapokon szereplő adatok kezelését, illetve a távoli parancsfájlok futtatását (AJAX). Csak be kell illesztenünk a prototype.js fájlt a kívánt dokumentumba, és máris hozzájutunk a JavaScript alapszolgáltatásait bővítő csomaghoz.

Ha egy weblapon szereplő elem DOM objektumát például document, getElementByID tagfüggvénnyel szeretnénk lekérdezni, ennek a függvénynek egy továbbfejlesztett változatát megtaláljuk a Prototype-ban $( ) néven. Ezt nem csak egyszerűbb beírni, hanem többet is tud, mint az eredeti beépített függvény, és több objektummal is működik.

Ha a Prototype csomagot használatba szeretnénk venni a weblapjainkon, csak egy fájlra, a prototype.js-re lesz szükségünk, illetve egy script elemre:

<script type="text/javascript" src="prototype.js"> </script>

A Prototype ingyenes, nyílt forrású szoftver, amely letölthető a hivatalos webhelyéről, a http://www.prototypejs.org/ címről.

Script.aculo.us

A Thomas Fuchs készítette Script.aculo.us programkönyvtár függvényei leegyszerűsítik a "Húzd-és-ejtsd" típusú műveleteket. Például egy lista elemeinek ilyen átrendezését, valamint olyan különleges hatásokat is találunk benne (Combination Effect), amelyekkel kiemelhetünk egyes elemeket, vagy animált átmeneteket hozhatunk létre, például rövid időre sárgával kiemelhetjük oldalunk új részét, hogy felhívjuk rá a felhasználó figyelmét vagy eltereljük, hogy az oldal egy része elhalványuljon, esetleg kiússzon a képernyőről.

Miután beépítjük a megfelelő fájlokat, a különleges hatásokat ugyanolyan egyszerűen használatba vehetjük, mint a JavaScript bármelyik beépített függvényét. Az alábbi utasítások például a Script.aculo.us segítségével elhalványítanak egy elemet az oldalon:

obj = document.getElementById("test"); new Effect.Fade(obj);

A Script.aculo.us a Prototype keretrendszerre épül, és annak minden függvényét tartalmazza, így a fenti kód még tovább egyszerűsíthető:

new Effect.Fade($("test"));
Egyéb programkönyvtárak