JavaScript



var

A var kulcsszóval változókat tudunk deklarálni. A változók kezdõértékét már a deklaráláskor megadhatjuk. A változók típusát a rájuk vonatkozó értékadás definiálja.

1. példa

var x,y;

2. példa

var x1=3,x2=0.5,y,z;
y='alma';
z=true;

Ebben az esetben az x1 és x2 változó numerikus, az y karakterlánc (string), a z pedig logikai (boolean) típusú lesz. Stringek esetén az aposztróf (') és az idézõjel (") egyaránt használható a megadott karakterlánc határoló karaktereként.



function

A function kulcsszóval függvényeket és eljárásokat tudunk deklarálni.

1. példa: eljárás formális paraméter nélkül

function hello() {
    document.writeln('Hello!');
    }

2. példa: eljárás formális paraméterrel

function hello(x) {
    document.writeln('Hello '+x+'!');
    }

3. példa: függvény egy formális paraméterrel

function kerulet(r) {
    return 2*Math.PI*r;
    }

Helyezzük el ezt egy pelda.html nevû dokumentum fejrészébe a következõképpen:

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<HTML>
<HEAD>
   <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <META name="Author" content="Boda István">
   <TITLE>Függvény használata</TITLE>
<SCRIPT>
function kerulet(r) {
    return 2*Math.PI*r;
    }
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT>
var i;
for(i=0;i<=5;i+=0.5) {
    document.writeln("Egy <B>"+i+" cm</B> sugarú kör kerülete <U>"+
    kerulet(i)+" cm</U>.<BR>");
    }
</SCRIPT>
</BODY>
</HTML>

Ekkor a következõ képernyõképet kapjuk:

4. példa: tömb deklarálása

Tömb deklarálásához elõször hozzuk létre az alábbi függvényt:

function tomb() {
    return this;
    }

Ezek után egy tömböt a következõképpen deklarálhatunk:

var t=new tomb();

A tömb elsõ elemének indexe mindig 0, hosszát pedig nekünk kell megadnunk, például a következõképpen:

t.length=10;

Ezek után bármikor lekérdezhetjük a tömb hosszát.

Használjuk ki a tömbkezelés lehetõségeit egy pelda.html nevû dokumentumban a következõképpen:

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<HTML>
<HEAD>
   <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <META name="Author" content="Boda István">
   <TITLE>Tömb használata</TITLE>
<SCRIPT>
function tomb() {
    return this;
    }
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT>
var i,t=new tomb(),a;
for(i=0;i<10;i++) {
    t[i]=Math.random();
    }
t.length=10;
</SCRIPT>
<P>Tíz véletlen szám:</P>
<UL>
<SCRIPT>
for(i=0;i<10;i++) {
    document.writeln("<LI>"+t[i]+"</LI>");
    }
</SCRIPT>
</UL>
<P>A véletlen számok átlaga:
<SCRIPT>
a=0;
for(i=0;i<t.length;i++) {
    a+=t[i];
    }
a/=t.length;
document.writeln(a);
</SCRIPT>
</P>
</BODY>
</HTML>

Ekkor a következõ képernyõképet kapjuk:



Array

Az Array a JavaScript egy beépített objektuma, amely egy tömb osztályt definiál. Segítségével tömböket hozhatunk létre. A tömb objektumoknak egy elemváltozója (mezõje) van, a tömbök (aktuális) hosszát megadó length elemváltozó.

1. példa: egy tömb létrehozása

var t=new Array();

2. példa: 10 elemû tömb létrehozása

var t=new Array(10);

Bár egy 10 elemû tömböt hoztunk létre, bármikor hozzávehetünk új elemeket a tömbhöz (ami a tömb hosszát automatikusan módosítani fogja).

3. példa: adott értékeket tartalmazó tömb létrehozása

var t=new Array(1,2,3);

Például legyen egy pelda.html nevû dokumentum forráskódja a következõ:

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<HTML>
<HEAD>
   <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <META name="Author" content="Boda István">
   <TITLE>Az Array objektum használata</TITLE>
</HEAD>
<BODY>
<SCRIPT>
var i,t=new Array(1,2,3);
t[5]=4;
document.writeln('A tömb elemei:<UL>');
for(i=0;i<t.length;i++) {
    document.writeln('<LI>'+t[i]+'</LI>');
    }
document.writeln('</UL>');
</SCRIPT>
</BODY>
</HTML>

Ekkor a következõ képernyõképet kapjuk:

Figyeljük meg, hogy a t[5]=4; értékadás automatikusan módosította a t tömb hosszát 6-ra, viszont a definiálatlan t[3] és t[4] tömbelemek értékének kiiratásakor az undefined üzenet jelenik meg.



if

Az if kulcsszóval feltételes elágazásokat hozhatunk létre.

Példa:

if (jegy==5) {
    document.writeln('Brávó!');
    }
else {
    document.writeln('Ejnye...');
    }



for

A for kulcsszóval ciklusokat hozhatunk létre.

1. példa: az elsõ 10 természetes szám kiírása

for(i=1;i<=10;i++) {
    document.writeln(i+'<BR>');
    }

2. példa: az 1,2,3,5,8,13,... sorozat (xn=xn-1+xn-2) elsõ 10 elemének kiírása egy vízszintes táblázatban

<TABLE BORDER=2>
<TR>
<SCRIPT>
var i,j,k1,k2;
k1=0;
k2=1;
for(i=1;i<=10;i++) {
    j=k1+k2;
    document.writeln('<TD>'+j+'</TD>');
    k1=k2;
    k2=j;
    }
</SCRIPT>
</TR>
</TABLE>

Egy pelda.html dokumentumban elhelyezve ezt a következõ képernyõképet kapjuk:



FORM

A FORM taggal ûrlapokat hozhatunk létre. Az ûrlapok a HTML interaktív felületét jelentik, amelyek adatbeviteli mezõket, nyomógombokat, legördülõ menüket, és más grafikus adatbeviteli eszközket tartalmazhatnak. A JavaScript dokumentum objektummodellben (DOM) egy form objektum a document objektumból érhetõ el.

A JavaScript programokban használható fontosabb attribútumok:



INPUT

Az INPUT taggal adatbeviteli objektumokat, például egysoros adatbeviteli mezõket és speciális funkciójú nyomógombokat hozhatunk létre egy ûrlapban. Az INPUT tag a FORM tagba ágyazva használható. A JavaScript dokumentum objektummodellben (DOM) egy input objektum a form objektumból érhetõ el.

A JavaScript programokban használható fontosabb attribútumok:

1. példa: két szám összeadása

Legyen a pelda.html dokumentum forráskódja a következõ:

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<HTML>
<HEAD>
   <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <META name="Author" content="Boda István">
   <TITLE>Ûrlap használata</TITLE>
<SCRIPT>
function szamol() {
    var x,y;
    x=document.szg.x.value;
    y=document.szg.y.value;
    document.szg.z.value=1*x+1*y;
    }
function z_clear() {
    document.szg.z.value='';
    }
</SCRIPT>
</HEAD>
<BODY>
<FORM name="szg">
<INPUT type="text" name="x" size="10"
onChange="z_clear()"> +
<INPUT type="text" name="y" size="10"
onChange="z_clear()"><BR>
<INPUT type="button" value="=" onClick="szamol()" STYLE="font-size: 20pt"><BR>
<INPUT type="text" name="z" size="10"><BR>
<INPUT type="reset" value="C" STYLE="font-size: 20pt">
</FORM>
</BODY>
</HTML>

Figyeljük meg, hogy

Eredményül a következõ képernyõképet kapjuk:

2. példa: dokumentum háttérszínének beállítása választó gombokkal

Legyen a pelda.html dokumentum forráskódja a következõ:

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<HTML>
<HEAD>
   <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <META name="Author" content="Boda István">
   <TITLE>Választó gombok használata</TITLE>
<SCRIPT>
function szinez() {
    var i,x;
    for(i=0;i<document.f.r.length;i++) {
        if(document.f.r[i].checked) {
            x=document.f.r[i].value;
            break;
            }
        }
    document.bgColor=x;
    }
</SCRIPT>
</HEAD>
<BODY onLoad="szinez()">
<DIV align=right>
<FORM name="f">
<BIG><B>piros</B></BIG>
<INPUT type=radio name="r" value="red" checked="checked" onClick="szinez()">
<BR>
<BIG><B>zöld</B></BIG>
<INPUT type=radio name="r" value="green" onClick="szinez()">
<BR>
<BIG><B>kék</B></BIG>
<INPUT type=radio name="r" value="blue" onClick="szinez()">
<BR>
</FORM>
</DIV>
</BODY>
</HTML>

Figyeljük meg, hogy

A pelda.html dokumentum betöltésekor a következõ képernyõképet kapjuk:

Ha például a 'zöld' választó gombra kattintunk, a dokumentum háttérszíne megváltozik:

3. példa: dokumentum háttérszínének be- és kikapcsolása jelölõ dobozzal

Legyen a pelda.html dokumentum forráskódja a következõ:

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<HTML>
<HEAD>
   <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <META name="Author" content="Boda István">
   <TITLE>Jelölõ doboz használata</TITLE>
<SCRIPT>
function szinez() {
    if(document.f.c.checked) {
        document.bgColor="blue";
        }
    else {
        document.bgColor="gray";
        }
    }
</SCRIPT>
</HEAD>
<BODY bgcolor=gray>
<DIV align=right>
<FORM name="f">
<BIG><B>háttérszín be:</B></BIG>
<INPUT type=checkbox name="c" value="yes" onClick="szinez()">
</FORM>
</DIV>
</BODY>
</HTML>

A pelda.html dokumentum betöltésekor a következõ képernyõképet kapjuk:

Ha a jelölõ dobozra kattintunk, a dokumentum háttérszíne megváltozik:



SELECT

A SELECT taggal legördülõ menüket hozhatunk létre. A SELECT tag a FORM tagba ágyazva használható. A legördülõ menübõl egy elem kiválasztása (ha az eltér az aktuálisan kiválasztott elemtõl) aktivizálja az onChange eseménykezelõt. A JavaScript dokumentum objektummodellben (DOM) egy select objektum a form objektumból érhetõ el.

A JavaScript programokban használható fontosabb attribútumok:



OPTION

Az OPTION taggal egy legördülõ menü egy elemét vagy sorát adhatjuk meg. Az OPTION tag a SELECT tagba ágyazva használható. A SELECT tagokba ágyazott OPTION tagok együttesen egy options tömböt alkotnak, amely lehetõvé teszi például a menübõl kiválasztott elem indexének, értékének és szövegének elérését JavaScript programokból. Például az f nevû ûrlap objektum s nevû menüobjektuma esetén

A JavaScript programokban használható fontosabb attribútumok:

TEXTAREA

A TEXTAREA tag többsoros szövegbeviteli ablakot adhatunk meg. A TEXTAREA tag a FORM tagba ágyazva használható. A többsoros szövegbeviteli ablak nyitó- és zárótagjai között megadott szöveg alapértelmezésként megjelenik az ablakban. A JavaScript dokumentum objektummodellben (DOM) egy textarea objektum a form objektumból érhetõ el.

A JavaScript programokban használható fontosabb attribútumok:

Példa: egy legördülõ menübõl kiválasztott elemek átmásolása egy többsoros szövegbeviteli ablakba

Legyen a pelda.html dokumentum forráskódja a következõ:

<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<HTML>
<HEAD>
   <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <META name="Author" content="Boda István">
   <TITLE>Ûrlap használata</TITLE>
<SCRIPT>
var szamlalo=0;
function masol() {
    var x,y,z;
    szamlalo++;
    x=document.f.s.options.selectedIndex; /* a kiválasztott elem indexe */
    y=document.f.s.options[x].text; /* a kiválasztott elemhez tartozó szöveg */
    z=document.f.t.value; /* a többsoros szövegbeviteli ablakban levõ szöveg */
    document.f.t.value=z+'\n'+
                       szamlalo+'. valasztas: '+x+'. elem = '+y;
    }
</SCRIPT>
</HEAD>
<BODY>
<FORM name="f">
<SELECT name="s" size="1" onChange="masol()">
 <OPTION value="1">Elsõ sor
 <OPTION value="2" selected="selected">Második sor
 <OPTION value="3">Harmadik sor
</SELECT>
<BR>
<TEXTAREA name="t" rows=10 cols=50>
Válassz a legördülõ menübõl!
</TEXTAREA>
</FORM>
</BODY>
</HTML>

Figyeljük meg, hogy a többsoros szövegbeviteli ablakban soremelést a '\n' speciális karakterrel tudunk megvalósítani.

A pelda.html betöltésekor a következõ képernyõképet kapjuk:

Kiválasztva a legördülõ menü harmadik sorát, a következõ képernyõképet kapjuk:

Ezután kiválasztva a legördülõ menü elsõ sorát, a következõ képernyõképet kapjuk:


Boda István, 2003. május 14.