Hauptmenü

Untermenü

JavaScript - Grundlagen - Funktionen

1. Selbstdefinierte Funktionen

Hier ist das Prinzip völlig identisch mit dem aus PHP. Der einzige Unterschied ist die Sache mit den optionalen Parametern. Das ist in der Form, die PHP uns bietet, nicht möglich. Stattdessen gibt es eine andere Möglichkeit. Man übergibt im Funktionsaufruf einfach den entsprechenden Parameter nicht mit. Allerdings muss man in so einem Fall immer überprüfen, ob der entsprechende Parameter definiert worden ist.


function machWas (blubbblubber)
{
  if ('undefined' != typeof blubb)
  {
    alert (blubb);
  }
  if ('undefined' != typeof blubber)
  {
    alert (blubber);
  }
}
machWas ('laber');

2. Objektabhängige Funktionen

Da JavaScript, wie schon mehrfach gesagt, eine objektorientierte/-basierte Sprache ist, sind die meisten Funktionen auch an solche Objekte gebunden. Das heißt, dass Objekt X über eine oder mehrere Funktionen verfügen kann. Dieses Prinzip bedeutet aber auch, dass man eine Funktion von Objekt X nicht auf Objekt Y übertragen kann. Das mag jetzt einigen von euch wie böhmische Dörfer vorkommen, aber zu den Details und der Erklärung komme ich gleich. Ach ja, in so einem Fall spricht man nicht von Funktionen, sondern von Methoden.


// Methode write des document-Objektes 
document.write ('Hallo');

3. Objektunabhängige Funktionen

... kann man an zwei Händen abzählen. Vorausgesetzt man hat 13 Finger. Denn mehr gibt es davon nicht. Da ich mit einigen dieser Funktionen noch nie zu tun hatte, werde ich euch erst mal nur die wirklich wichtigen vorstellen. Eine komplette Übersicht gibt es wie gehabt bei SelfHTML.

eval

Funktioniert genau so wie in PHP (und ist genau so böse). Dabei wird versucht, eine Zeichenkette als Programmieranweisung zu interpretieren und auszuführen.


'1 + 2 + 3';
// Ergibt 6
alert (eval (a));

isNaN

Überprüft, ob ein Variablenwert keine(!) Zahl ist. Gibt im Erfolgsfall ein true zurück, ansonsten ein false. Bei Fließkommazahlen muss man auch noch darauf achten, dass das Dezimalzeichen ein Punkt und kein Komma ist. Ach ja, NaN steht für Not a Number.


var '1,23';
if (isNaN (a))
{
  alert ('Keine Zahl');
}

parseFloat, parseInt

Diese Funktionen versuchen, genau wie intval und floatval in PHP, aus einer Zeichenkette Zahlen so lange zu extrahieren, wie möglich.


var '1.2345a678';
alert (parseFloat (a));
alert (parseInt (a));

Number, String

Mit diesen Funktionen kann man die Übergabewerte entsprechend konvertieren. Ein Beispiel dazu habe ich euch ja schon bei den Variablen. gezeigt. Das Beispiel könnte man auch entsprechend umdrehen:


1;
2;
// Ergibt wieder 12
alert (String (b));

4. Anonyme Funktionen

Ich habe lange darüber nachgedacht, ob ich die hier unterbringen soll oder nicht. Nach reiflichem Überlegen bin ich aber zu dem Schluss gekommen, dass diese Dinger die Anfänger unter euch restlos überfordern werden. Darum gibt es die Erläuterungen zu diesem Thema unter dem Tutorial DOM-Scripting, da man dafür schon einiges an Wissen mitbringen sollte.

zurück zum vorherigen Abschnitt weiter zum nächsten Abschnitt