HTMLWorld - HTML, CSS, JavaScript, PHP, Java, Flash und vieles mehrHTMLWorld:   Home | Impressum |
 

 
 

Anzeige 
 
               Forum
 
 

JavaScript: Function

von Jan Winkler

Jede Funktion kann ein Objekt darstellen und stammt von einem Objekttyp ab. Deshalb können von jeder Funktion auch bestimmte Werte abgefragt werden (usw.).

Anzeige

JavaScript 1.1 JScript 2.0 Function erstellen  nach oben

Neben der normalen Variante eine Funktion durch einfaches notieren dieser zu erstellen, besteht zusätzlich auch die Möglichkeit, eine Funktion während der Laufzeit völlig neu zu erstellen. Dies geschieht mit Hilfe des new-Operators.
Einer Variablen wird der Operator sowie der Aufruf new Function() (unbedingt mit großem F schreiben) übergeben. Eventuelle Parameter, die die Funktion erhalten soll, werden dann als Parameter übergeben. Als letzten Übergabewert wird der auszuführende Code als String notiert. Die erstellte Funktion kann dann über die beschriebene Variable aufgerufen werden. Beispiel:

a = '{'+
    'var_a += var_b;'+
    'var_b = var_a*var_b;'+
    'return(var_b);'+
    '}';
b = new Function('var_a','var_b', a );
// Funktion b( var_a , var_b ) erstellt

c = b(1,2); // = 6

Unterobjekte  nach oben

Das Objekt besitzt die folgenden Unterobjekte:

Eigenschaften  nach oben

JavaScript 1.2 arity

Die arity-Eigenschaft ist eine veraltete Eigenschaft zum ausfragen der Parameteranzahl einer Funktion. Ab JavaScript 1.4 wird sie als deprecated (abgelehnt / mißbilligt) angesehen und ist nur noch wegen Abwärtskompatibilität in JavaScript enthalten. Stattdessen kann die Eigenschaft length zum Ermitteln der Parameteranzahl verwendet werden.
Notation: Objekt.arity

function a(x,y){ return(x+y); }
if(a.arity == 2){ a(1,2); }
else{ a(); }

JScript 2.0 caller

Die caller-Eigenschaft gibt an, von wo aus eine Funktion aufgerufen wurde. Kam der Aufruf von einer Funktion, wird diese angegeben - ansonsten wird null zurückgegeben.
Notation: Objekt.caller

function a() { return(a.caller); }
function b() { return(a()); }
x = a(); // = null
y = b(); // = 'function b() { return(a()); }'

JavaScript 1.1 JScript 2.0 constructor

Die constructor-Eigenschaft gibt die Funktion an, die das Objekt erstellt hat (also Function()).
Notation: Objekt.constructor

a = new Function('x','y','return(x+y)');
b = a.constructor; // = 'function Function(){ [native code] }'

JavaScript 1.1 JScript 2.0 length

Die length-Eigenschaft gibt die Anzahl der Parameter einer Funktion an.
Notation: Objekt.length

function a(x,y){ return(x+y); }
if(a.length == 2){ a(1,2); }
else{ a(); }

JavaScript 1.1 JScript 2.0 prototype

Die prototype-Eigenschaft gibt eine Referenz auf die eigentliche Objektklasse wieder.
Notation: Objekt.prototype

Function.prototype.VariableX = 13;
function a(x,y)
{
 b = a.VariableX; // = 13
}
a(2,3);

Methoden  nach oben

JavaScript 1.3 JScript 5.5 apply

Die apply-Methode wendet eine Funktion auf ein Objekt an. So lassen sich die Eigenschaften eines Objekts auf ein anderes übertragen. Als Parameter kann dazu optional das Objekt übergeben werden, auf welches die Funktion angewendet werden soll (ansonsten wird das globale Objekt verwendet werden). Als zweiten Parameter kann optional ein Array mit Parametern oder ein arguments-Objekt übergeben werden.
Notation: Objekt1.apply([ Objekt2 [, Argumente]])

function a(x,y)
{
 this.val1 = x;
 b.apply(this,[y]);
 //wendet Funktion b auf das Objekt an
 //und übergibt x als Parameter
}

function b(y)
{
 this.val2 = y;
}
c = new a(1,2)
d = c.val1; // = 1
e = c.val2; // = 2

JavaScript 1.3 JScript 5.5 call

Die call-Methode startet eine Funktion (Funktionsaufruf). JavaScript verlangt dazu als Parameter das Objekt, mit dem die Funktion ausgeführt werden soll (ähnlich der apply-Methode) - für JScript ist dies optional. Beide Sprachen erlauben zusätzlich die Übergabe ein oder mehrerer Parameter die als Übergabewerte für die aufzurufende Funktion gelten sollen.
Notation: Objekt1.call([Objekt2 [,Argument1 [, ... ArgumentN ]]])

function a(b,c){ return(b+c); }
d = a.call(this,1,2); // = 3

JavaScript 1.3 toSource

Die toSource-Methode gibt einen String wieder, der den Source-Code (Grundcode) des Objekts repräsentiert.
Notation: Objekt.toSource()

a = new Function('x','y','return(x+y)');
b = a.toSource() // = 'function anonymous(x, y){ ... }'

JavaScript 1.1 JScript 2.0 toString

Die toString-Methode wandelt das Objekt in einen String um.
Notation: Objekt.toString()

a = new Function('x','y','return(x+y)');
b = a.toString() // = 'function anonymous(x, y) { ... }'

JavaScript 1.1 JScript 2.0 valueOf

Die valueOf-Methode gibt den Wert des Objekts wieder. Dies entspricht allgemein der toString-Methode.
Notation: Objekt.valueOf()

a = new Function('x','y','return(x+y)');
b = a.valueOf() // = 'function anonymous(x, y) { ... }'


 

JavaScript

.Autor:Jan Winkler.
. Bewertung:
JavaScript: Function HTMLWorld
(5/5 bei 1 Votes)
.
. Community: 754 Beiträge im JavaScript Forum .

Navigation

Doku-Inhalt

html-Datei in Container nachladen von Piwi
blättern navigation - nicht alle seitenzahlen zeigen von Powell
XML-Datei per Javascript ver- und entschlüsseln?! von Nupsi
getElementById/innerHTML von duff_beer
Brauche dringend Hilfe/Gallery2.3 von Harburger1887
Window Open von javahack
Musik nach bestimmter Zeit abspielen von InsaYn
Merlin erscheint nicht auf der Website von Moijto
Bräuchte Hilfe von jemanden der sich auskennt ;-) von ladehf
Re: php Style über javascript laden nur wie? von TBT
Bannerwechsel mit mehreren Bannern und per Klick von katha126
HTML Referer ändern von nhs
JavaScript Weiterleitung von xmen
Zeitgesteuertes und zufälliges laden verschiedener index.php von Brainflame
Dynamisch erstellten (mit PHP) Checkboxen mit jQuery/AJAX au von Kyfe

zum JavaScript Forum »


 
     
 

Anzeige