A JavaScripttel többek között online WEB riportokat tudjuk felturbózni, látványosabbá tenni.
Ez scripting language (=parancsleíró nyelv), vagyis voltaképpen egy
(leegyszerűsített) programozási nyelv, mellyel interaktívvá, animálttá tehetjük
weboldalainkat.
A JavaScriptet a (bonyolultabb) C programozási nyelvből
alakították ki. A JS ún. interpretált nyelv, azaz a parancsait a program az
erre kifejlesztett program gépi kódra való lefordítás nélkül hajtja végre.
A JS-et általában közvetlenül a HTML-fájlba írjuk bele.
A JS-et bárki ingyenesen használhatja.
JavaScript NEM Java
A Java és a JavaScript két,
alapgondolataiban és megjelenésében teljesen eltérő programozási nyelv. A Sun
Microsystems által kifejlesztette Java a JS-nél sokkal hatékonyabb és
bonyolultabb nyelv, s így inkább a C ill. C++ -hoz hasonló.
A JS a webes fejlesztők programozási eszköze. A HTML-oldalak készítői gyakran nem programozók; így számukra ideális programozási lehetőséget nyújt az igen egyszerű mondattannal rendelkező JavaScript. A JS segítségével tehát a programozáshoz nem értők is bővíthetik néhány „program-töredékkel” weboldalukat.
A JS-tel dinamikus (szöveg)tartalommal tölthetjük fel a weboldalakat. Az alábbihoz hasonló JavaScript-utasításokkal (=statements) az oldal bizonyos (pl. szöveges) elemeinek tartalmát a weboldal aktuális állapotához igazíthatjuk:
document.write(”<h1>” + name +
”</h1>)
A JS-tel az oldal reagálhat bizonyos eseményekre A JS megfelelő beállításával bizonyos történésekhez (pl. az oldal letésének befejeződése, vagy a felhasználó elemre-kattintása) az oldal tartalmának megváltozásában álló választ rendelhetünk.
A JS-tel az oldal reagálhat bizonyos eseményekre A JS megfelelő beállításával bizonyos történésekhez (pl. az oldal letésének befejeződése, vagy a felhasználó elemre-kattintása) az oldal tartalmának megváltozásában álló választ rendelhetünk.
A JS kezeli (olvassa és felülírja) a HTML-tartalmat A JS működés közben beolvashatja/felhasználhatja ill. módosíthatja egyes HTML-elemek tartalmát.
A JS adatok validálására is használható. A JS segítségvel leellenőrizhetjük a felhasználó által (pl. űrlapon) küldendő adatok helyességét a továbbításuk előtt. A kiszűrt hibás üzenetek nem terhelik feleslegesen a szervert.
A JS felismeri a felhasználó böngészőprogramját. A JS segítségével felismerhetjük a felhasználó böngészőjének típusát, és a szerver az azonos tartalmú, de eltérő böngészők számára készült weboldal-variánsok közül a legmegfelelőbbet továbbíthatja neki.
A JS alkalmas cookie-k létrehozására A JS-segítségével ún. cookie-k formájában adatokat tárolhatunk és kereshetünk vissza a weboldal látogatójának számítógépén/számítógépéről. A (HTTP-/web-/browser-)cookie (=keksz) nem más, mint a webbönglsző által a felhasználó gépén eltárolt szöveg.
Ezt a későbbiekben bejelentkezéseknél,
keresési és böngészési javaslatokhoz, bevásárlókosár-tartalom megőrzésére
egyaránt felhasználhatjuk, de az éppen látogatott weboldalak tartalmának
megőrzésére és a gép váratlan leállását követő visszaállítására is
A JavaScriptet a <script> HTML tag segítségével
írhatjuk bele a weboldalba.
JavaScript írása weboldalba Az alábbi példában egy szöveget
íratunk ki a weboldalra a JS segítégével:
<html> <body>
<script
type="text/javascript"> document.write("Hello World!");
</script>
</body>
</html>
A fenti HTML-oldalon csupn a Hello World! szavak olvashatók
(idézőjel nélkül). Ha az idézőjeleknek akár csak egyikét is kitöröljük, vagy az
utasításban szereplő pontot kettőspontra változtatjuk, a böngésző nem ír ki
semmit.
Második példánkban látjuk, hogyan adhatunk HTML-tageket a
megjelenítendő tartalomhoz:
<html> <body>
<script
type="text/javascript"> document.write("<h1>Hello
World!</h1>"); </script>
</body>
</html>
Ebben az esetben a szöveg elsőrendű címsorként jelenik meg.
A példát átalakítva linket is kiírathatunk:
<html>
<body>
<script
type="text/javascript"> document.write("<h2><a
href=http://www.lap.hu target=_blank>Hello World!</a></h2>");
</script>
</body>
</html>
Mint látszik, az <a> tag attribútum-értékeit
(http://www.lap.hu ill. _blank) nem tettük idézőjelbe, mert ellenkező esetben a
program megzavarodik, és nem ír ki semmit (ti. maga a JS utasítás értéke is
idézőlejben van).
Magyarázat Mint első példánkban láttuk, a JS-nek a
dokumentumba ágyazására a <script> tag szolgál, melyben a type
attribútummal a parancsnyelv fajtáját is meg kell adnunk. Így a <script
type=”text/javascript”> és a </script> tagek jelzik a JS kezdetét és
végét a dokumentumban:
<html> <body>
<script
type="text/javascript"> ... </script>
</body></html>
A document.write egy
standard JS-parancs, mellyel szöveget íratunk ki az oldalra. Hogyha ezt az
előbb bemutatott script elembe írjuk, a böngésző JS-parancsként fogja
értelmezni, és végrehajtja a parancssort, azaz ebben az esetben kiírja a Hello
World! szöveget:
<html> <body>
<script
type="text/javascript"> document.write("Hello World!");
</script>
</body> </html>
Hogyha a parancssort
nem <script> tagbe írjuk, akkor azt a böngésző egyszerű szöveges
tartalomként kezeli, és az egészet kiírja az oldalra. Tehát pl. a következő
esetben:
<html> <body>
document.write("Hello World!");
</body> </html>
a document.write(”Hello World!”); felirat jelenik
meg a képernyőn.
Megoldás az egyszerű böngészők számára A JavaScriptet nem
támogató böngészők a JS rendelkezéseket (=statements) az oldal-tartalom
részeként jelenítik meg, ami zavarólag hat. Ennek kiküszöbölésére, a JS
szabvány értelmében a HTML comment (<!--->) taget alkalmazzuk az
elrejtésükre.
Azaz egyszerűen írjunk egy
<!-- taget a JS rendelkezések
elé, és egy comment-záró -->
taget utánuk, így:
<html> <body>
<script type="text/javascript">
<!--
document.write("Hello World!"); //-->
</script>
</body> </html>
A két, jobbra dőlő perjel a comment-záró tag előtt
a JS-megjegyzések jelölése, azaz az ezen jelek közé írt rendelkezéseket a
program nem veszi figyelembe.
A HTML comment-lezáró tag elé írt kettős perjel
értelmében a JavaScript az oldal teljes további tartalmát megjegyzésként
kezeli, és nem hajtja végre.
A JavaScript elhelyezése a weboldalban:
Belső JavaScriptek:
A HTML-oldalba írt JavaScripteket a böngésző az oldal betöltésekor azonnal végrehajtja; a függvényekbe írt kódot viszont csak a függvény meghívásakor.
JS-rendelkezések a <head> részben A csak meghívásra indítandó függvény-parancssorokat a <head> részbe írjuk; hogy elkülönítsük a szövegtestbe írt, azonnal végrehajtandó JS-től, ill. hogy már meghívásuk előtt betöltse őket a böngésző..
JS-rendelkezések a <body> részben Hogyha a parancsunkat nem szükséges függvényként (késleltetve) végrehajtatnunk, akkor a dokumentum <body> részében célszerű elhelyeznünk
A dokumentumban tetszőleges számú scriptet helyezhetünk el, a fejrészben és a szövegtestben egyaránt, azaz mind a szövegtestbe, mind a fejrészbe írt JS-ek hibátlanul működnek, nem zavarják egymást!
Külső JavaScriptek:
Adott esetben (ha annak tartalma megfelelő), a JS-et egy külső, .js kiterjesztésű fájlként is hozzáadhatjuk a weboldalhoz. A külső JS fájl csak JS-rendelkezéseket tartalmazhat, tageket és egyéb elemeket vagy szöveget nem. Ezért a <script></script> tageket se írjuk bele!Hivatkozás külső JS-re:
<script type="text/javascript" src="URL.js"></script>
A <script> taget, habár tartalmat nem írunk bele, továbbra is ugyanott kell elhelyezni, ahová belső JS-ként beírnánk!
Scriptek: Oldalbetöltés (=onload) esemény/attribútum:
<elem onload=”függvény-név()” />
Függvény: function függvény-név (paraméter1,paraméter2) { végrehajtandó_kód; } Figyelmeztető-ablak: alert(”Üzenet”);
A JS a böngésző által végrehajtandó rendelkezések (azaz parancsoknak és azok értékeinek) sorozata.
A JavaScript esetfüggő A HTML-lel szemben a JS esetfüggő, ezért fokozottan ügyelnünk kell a nagy-és kisbetűk következetes használatára a JS-et alkotó kijelentések, (kijelölendő vagy meghívandó) változók, objektumok és függvények írásakor.
JavaScript rendelkezések (statements) A JS-rendelkezések nem egyebek, mint a böngészőnek szóló utasítások, azaz a teendők meghatározásai.
Pl. az alábbi rendelkezés értelmében a böngészőnek meg kell jelenítenie a Hello Dolly feliratot a weboldalon:
document.write("Hello Dolly");
A rendelkezések végére általában pontosvesszőt írunk. Ez bevett és elismert gyakorlat a programozók között, az Interneten számos helyen találkozhatunk vele.
A JS szabványnak a rendelkezések pontosvesszővel való elválasztása csak kiegészítő eleme, mivel a böngészők e szabvány szerint a sortöréseket (entereket) tekintik az egyes rendelkezések végének. Így minden egyes rendelkezést külön sorba kellene írni.
A pontosvesszők használatával nemcsak könnyebben olvashatóvá, elkülöníthetőbbé válnak az egyes rendelkezések, hanem egy sorba többet is írhatunk belőlük.
JavaScript kód A JavaScript-kód vagy egyszerűbben JavaScript JS-rendelkezések sorozata. Ezeket a böngésző az oldalán elfoglalt helyük sorrendjében hajtja végre. Következő példánkban egy címsort és két bekezdést íratunk ki a weboldalra:
<html> <body>
<script type="text/javascript"> document.write("<p>This is a paragraph.</p>"); </script>
<script type="text/javascript"> document.write("<h1>This is a heading</h1>"); document.write("<p>This is another paragraph.</p>"); </script>
</body> </html>
Mint látjuk, itt a címsor a két bekezdés között található. Hogyha a pontosvesszőket kitöröljük, a kód továbbra is működik, de hogyha ezután a sortöréseket megszüntetjük és az egyes rendelkezéseket enterek helyett csak szóközök választják el, a böngésző nem képes kiírni a szöveget.
JavaScript – tömbök A JS-rendelkezéseket ún. tömbökbe csoportosíthatjuk, melyeket kapcsos zárójelekkel jelölünk. A tömbbe tartozó rendelkezéseket a böngésző egyszerre hatja végre.
A következő példában ugyancsak címsort és bekezdéseket íratunk ki a weboldalra:
<html> <body>
<script type="text/javascript"> {
document.write("<h1>This is a heading</h1>"); document.write("<p>This is a paragraph.</p>"); document.write("<p>This is another paragraph.</p>"); } </script>
</body> </html>
Példánk nem túl tanulságos, csupán a tömbbe zárás mondattanát mutatja be, mely a CSS-meghatározásaok csoportosításával analóg. A rendelkezéseket leggyakrabban akkor csoportosítjuk, ha egy függvénybe (=function) vagy feltételbe (=condition) szeretnénk őket csoportosan beírni.
A függvényekről és feltételekről (mely utóbbi teljesülése esetén a rendelkezések adott csoportját a program végrehajtja) a későbbi fejezetekben lesz szó.
JavaScript – rendelkezések: A JS-rendelkezések a böngészőnek szóló utasítások. Sortörések vagy pontosvesszők választhatják el őket a kódban.
A rendelkezéseket tömbökbe csoportosíthatjuk, amelyek elején ill végén kapcsos zárójelek állnak. A tömbbe zárt kódot (pl. egy függvény vagy feltételes rendelkezés értékeként) a böngésző a többitől elkülönítve, egységként hajtja végre.
A JS esetfüggő, ezért fokozottan ügyelnünk kell a nagy-és kisbetűk következetes használatára!
V. JavaScript – megjegyzések A JS-megjegyzéseket a kód olvashatóbbá tételére használjuk.
JavaScript – megjegyzések A JS-megjegyzések a JS-kód magyarázatára vagy áttekinthetőségének növelésére szolgálnak. Az egysoros megjegyzések kettős perjellel (//) kezdődnek
Az alábbi példában egysoros megjegyzésekkel magyarázzuk a kódot:
<html> <body>
<script type="text/javascript"> // Write a heading document.write("<h1>This is a heading</h1>"); // Write two paragraphs: document.write("<p>This is a paragraph.</p>"); document.write("<p>This is another paragraph.</p>"); </script>
</body> </html>
Mint látjuk, az egysoros megjegyzések használatának kulcsa, hogy a böngésző a JavaScript rendelkezéseit soronként értelmezi, így a megjegyéseink nem szorulnak külön lezáró jelre, hiszen a kód új sorban folytatódik.
Többsoros JavaScript-megjegyzések A többsoros JS-megjegyzések /*-gal kezdődnek és */-re végződnek, a CSS-megjegyzésekhez hasonlóan.
Alábbi példánk rendelkezéseihez többsoros magyarázatot fűztünk:
<html> <body>
<script type="text/javascript"> /* The code below will write one heading and two paragraphs */ document.write("<h1>This is a heading</h1>"); document.write("<p>This is a paragraph.</p>"); document.write("<p>This is another paragraph.</p>"); </script>
</body> </html>
Végrehajtás-gátló megjegyzés-jelek Az alábbi példában a megjegyzés-jelet egy rendelkezés végrehajtásának meggátlására, azaz kvázi a rendelzekés „kikapcsolására” használjuk. A megjegyzés-jelek ilyetén használata az oldalak hibáinak kijavításakor (=debugging) szokásos.
<html> <body>
<script type="text/javascript"> //document.write("<h1>This is a heading</h1>");
document.write("<p>This is a paragraph.</p>"); document.write("<p>This is another paragraph.</p>"); </script>
</body> </html>
Ebben az esetben tehát a címsor nem látszik, mert a megjelenítésére vonatkozó rendelkezést a böngésző egy egysoros megjegyzésnek tekinti.
Többsoros rendelkezések vagy rendelkezés-tömbök kikapcsolására szabatosan a többsoros megjegyzésjelet alkalmazzuk:
<html> <body>
<script type="text/javascript"> /* document.write("<h1>This is a heading</h1>"); document.write("<p>This is a paragraph.</p>");*/ document.write("<p>This is another paragraph.</p>"); </script>
</body> </html>
Itt csak az utolsó bekezdés kerül megjelenítésre.
Sorvégi megjegyzések Következő példánk megjegyzéseit a rendelkezések után, a sorvégekre írtuk, így azok nem foglalnak el külön sorokat:
<html> <body>
<script type="text/javascript"> document.write("Hello"); // Write "Hello" document.write(" Dolly!"); // Write " Dolly!" </script>
</body> </html>
Az oladl tartalma itt is Hello Dolly!
JavaScript – megjegyzések: A JS-megjegzéseket jegyzeteknek a kódba írásához vagy a kód egyes részeinek „kikapcsolásához”/érvénytelenítéséhez használjuk a szerkesztés vagy javítás során.
Egysoros megjegyzés: //Megjegyzés Többsoros megjegyzés: /*Megjegyzés Megjegyzés*/ Sorvégi megjegyzés (nem foglal el külön sort): kód; //Megjegyzés
VI. JavaScript – változók A változók (=variables) a JS információ-tároló részei.
Algebrai változók Az iskolai algebrából emlékezhetünk a következőhöz hasonló összefüggésekre: x=5, y=6, z=x+y
Ezekben a betűkhöz (pl. az x) bizonyos értéket (pl. 5) társítva a művelet végeredménye (z = 11) kiszámíthatóvá válik.
Az említett betűket változóknak (=variables) nevezik, melyek bizonyos értékekre (pl. x = 5) illetve összefüggésekre (pl. z=x+y), azaz végső soron információkra utalhatnak.
JavaScript – változók Az algebrai változókhoz hasonlóan a JS változói is értékeket ill. összefüggéseket takarnak.
Tetszőleges elnevezésekkel illethetjük őket, mint amilyen az x, illetve jellegzetesebbekkel is, mint pl. a carname.
A JS-változók elnevezésekor két szabályt kell betartanunk: 1. A JS-változó – nevek, mint minden JS-elem, esetfüggők, azaz pl. az y és az Y két külön változót jelöl. 2. A változó-neveknek betűvel vagy aláhúzás-karakterrel (_) kell kezdődniük.
Egy gyors példa A változók értéke a parancssor végrehajtása közben változhat. Az aktuális érték behívása ill. megváltoztatása egyaránt az érték-névre való hivatkozással történik, mint azt példánk mutatja:
<html> <body>
<script type="text/javascript">
var firstname;
firstname="Hege";
document.write(firstname);
document.write("<br />"); firstname="Tove"; document.write(firstname);
</script>
<p>The script above declares a variable, assigns a value to it, displays the value, changes the value, and displays the value again.</p>
</body> </html>
ONLINE matek függvény elemező linkek:
https://www.wolframalpha.com/https://www.geogebra.org/m/awahVlZy#material/s1ZwTMKZ
https://www.symbolab.com/solver
https://www.mathway.com
https://www.numberempire.com
www.emathhelp.net
Megjegyzések
Megjegyzés küldése