Modern ismeretek WEB oldalon : Javascript ismertető HTML formátumban

Function objektum

A Function objektum bemutatása
Elemváltozók (tulajdonságok) :
argument Csak olvashatóJavaScript 1.1Netscape3.0MS IE4.0 Paraméterlista, melyet a függvény vár
arity Csak olvashatóJavaScript 1.2Netscape4.0 A paraméterek számát adja meg
caller Csak olvashatóJavaScript 1.1Netscape3.0MS IE4.0 A hívó függvény adatait tartalmazza
Elemfüggvények (metódusok) : nincs
Alárendelt objektumok : nincs
Eseménykezelők : nincs értelmezve

A Function objektum bemutatása

A Function objektumon keresztül érhetjük el a JavaScript  függvények tulajdonságait, tehát maguk a JavaScript függvények is a JavaScript utasítások elemeit képezik. A Function objektum használata olyan esetben lehet hasznos, amikor egy függvényt szeretnénk meghívni, melyhez változó számú paraméter tartozik.

A Function objektumot a következő módon hozhatunk létre :

Példa:

Szin = new Function("Ujszin","document.bgColor=Ujszin;");

Az eredeti függvény:

function Szin(Ujszin) {
 document.bgColor=Ujszin;
}

Mindkettő hívása:

<a href="javascript:Szin(#FFFFE0)">Új háttérszín</a>

Magyarázat:

Először nézzük a második esetet, ahol a megszokott módon deklaráljuk a Szin() nevű függvényt, mely az Ujszin paramétert várja. Fölötte a példában deklaráltuk ugyanazt a függvényt csak objektum formában : new Function(...) Ezen objektum visszatérő értéke a Szin változó-ban van eltárolva. Paraméterként a Function függvény tetszőleges számú attributumot vár, melyeket az utolsó előtti-ig paraméterként kezeli. Az utolsó egy karakterlánc, mely a teljes függvénytartalmat képviseli, ez tehát egy JavaScript hivatkozás egy függvényen belül.

Egy változó, mint a példában a Szin éppenúgy meghívható mint egy függvény. A harmadik részben, mint a neve is mutatja : Mindkettő hívása valóban ez is történik, mert a Szin változó egy teljes objektumot foglal magába.

Azonban nem szükséges egy új Function objektumot létrehozni ahhoz, hogy a függvény tulajdonságait elérjük. Megtehetjük direkt módon is:

Példa:

<html><head><title>Teszt</title>
</head><body>
<script language="JavaScript">
function Lista(Tipus) {
 document.write("<" + Tipus + "L>");
 for (var i=1; i<Lista.arguments.length; i++)
 document.write("<LI>" + Lista.arguments[i]);
 document.write("</" + Tipus + "L>");
}
Lista("U","Alma","Körte","Barack","Szilva");
Lista("O","Egy","Kettő","Három","Négy","Öt");
</script>
</body></html>

A példában dinamikusan írunk egy HTML listába, mely lehet felsoroló <ul> és számozott <ol> lista. Mindez a Lista()függvény hívásával történik. Ennek csak az első paramétere a Tipus a mérvadó a lista megjelenését tekintve, a többi maga a lista tartalma. A függvényen belül először a lisatelemek számát kérdezzük le a Lista.arguments.length által, ahol feltételezzük, hogy a második paramétertől kezdve minden paramáter egy listaelemet képvisel. A függvényben document write() metódus hívásával, egy  for ciklus segítségével dinamikusan írjuk ki a paramétereket.


Csak olvashatóJavaScript 1.1Netscape3.0MS IE4.0 arguments

A függvénynek átadott argumentumokat egy tömbben, elemek láncolataként tárolja. Minden elem egy paramétert képvisel. Ez az elemváltozó csak a függvényen belülről hívható, melyre vonatkozik.

Példa:

<html><head><title>Teszt</title>
</head><body>
<script language="JavaScript">
function proba(Nev,szul_hely,szul_datum,sex,ir_szam,lakhely) {
 document.write("A függvény " + proba.arguments.length + " paramétert kapott :");
 for (var i=0; i<proba.arguments.length; ++i)
  document.write("<BR>" + proba.arguments[i]);
}
proba("Kovács Ádám","Kecskemét","1974","férfi","5100","Jászberény");
</script>
</body></html>

Magyarázat:

A példában definiáljunk a proba() függvényt, mely több paramétert kap. A függvényben document write() metódus hívásával dinamikusan írjuk ki a paraméterek számát és utána egy  for ciklus segítségével a paramétereket..


Csak olvashatóJavaScript 1.2Netscape4.0 arity

Megadja az argumentumok (paraméterek) számát, melyet a függvény vár. Ez az elemváltozó csak a függvényen kívülről hívható, melyre vonatkozik. A Script verzió: JavaScript1.2 kell hogy legyen .

Példa:

<html><head><title>Teszt</title>
<script language="JavaScript1.2">
function Teszt(Nev,szul_hely,szul_datum,sex,ir_szam,lakhely) {
 return(Nev + " " + szul_datum);
}
alert("A függvény :  " + Teszt.arity + " paramétert vár");
</script>
</head><body>
</body></html>

Magyarázat:

A példában definiálunk egy függvényt, mely több paramétert vár. Magát a függvényt nem is hívjuk meg, így paramétert sem adunk neki, csak egy ablakban kiiratjuk az argumentumok számát.


Csak olvashatóJavaScript 1.1Netscape3.0MS IE4.0 caller

Ez az elemváltozó a hívó függvényt tartalmazza, mely az aktuális függvényt meghívta. Ha a hívása az eseménykezelő által vagy a fájl beöltésekor történt, akkor az értéke : null. Ez az elemváltozó csak a függvényen belülről hívható, melyre vonatkozik.

Példa:

<html><head><title>Teszt</title>
<script language="JavaScript">
function proba()
  { alert("A hívó függvény a : " + proba.caller); }
function hivo()
  { proba(); }
</script>
</head><body>
<a href="javascript:hivo()">Ki hívott ?</a>
</body></html>

Magyarázat:

A példa fejrészében két függvényt definiáltunk. Ha rákattintunk a Ki hívott ? hiperlinkre, akkor az meghívja a hivo()függvényt, mely mást sem csinál csak meghívja a proba()-t, mely aztán egy ablakban az őt meghívó függvény nevét írja ki.

Start

Készült : 1999-10-11Lengyel Sándor