O'Reilly logo

JavaScript - Schritt für Schritt by Steve Suehring

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

167
Kapitel 7
Mit Funktionen arbeiten
In diesem Kapitel:
Was macht eine Funktion aus? 168
Methoden 176
Funktionen für Dialogfelder 176
Übungen 180
168
Kapitel 7: Mit Funktionen arbeiten
Nachdem Sie dieses Kapitel gelesen haben, sind Sie in der Lage:
den Zweck von Funktionen in JavaScript zu verstehen
eigene Funktionen zu definieren
Funktionen aufzurufen und die von ihnen zurückgegebenen Daten zu verarbeiten
einige der in JavaScript integrierten Funktionen zu verstehen
Was macht eine Funktion aus?
Eine JavaScript-Funktion ist eine Sammlung von Anweisungen, die entweder benannt oder unbenannt
(anonyme) sind und sich von einer anderen Stelle in einem JavaScript-Programm aufrufen lassen. Funktio-
nen übernehmen optional Argumente, d. h. Eingabewerte, die an die Funktion weitergegeben werden. Die
Funktion kann diese Argumente intern verarbeiten und die Ergebnisse an den Aufrufer der Funktion über
einen so genannten Rückgabewert zurückgeben.
Funktionen eignen sich insbesondere für Aufgaben, die innerhalb eines Programms mehrmals auszuführen
sind. Anstatt denselben Code mehrfach zu definieren, verwenden Sie eine Funktion (die praktisch ein
Miniprogramm innerhalb eines Programms darstellt), um diese Aktion auszuführen. Auch Codepassagen,
die an verschiedenen Stellen im Programm sehr ähnlich – aber nicht identisch – sind,nnen Sie mögli-
cherweise zu einer einzigen Funktion abstrahieren.
Die Abstraktion von ähnlichem Code bietet sich beispielsweise an, wenn überprüft werden soll, ob alle
erforderlichen Formularfelder ausgefüllt sind. Man könnte jedes individuell benannte Feld im Formular mit
separatem Code überprüfen oder diese Aufgabe mithilfe einer Funktion erledigen. Kapitel 14 zeigt ein
Beispiel, wie man eine spezifische Funktion erstellt und dann abstrahiert.
In den Beispielen vorhergehender Kapitel haben Sie Funktionen bei der Arbeit bereits kennengelernt. Eine
Funktion wird mit dem Schlüsselwort function definiert. Darauf folgt normalerweise der Name der Funkti-
on und ein Klammernpaar, in dem Argumente oder Parameter für die Funktion enthalten sein können.
Schließen Sie die als Teil der Funktion auszuführenden Anweisungen in geschweifte Klammern ein:
function functionName() {
// Hier stehen die Anweisungen;
}
TIPP
Wenn Sie eine Funktion definieren (wie Sie es in der vorhergehenden grundlegenden Funktionsdefinition sehen
können), wird der Code noch nicht ausgeführt. Das geschieht erst, wenn Sie die Funktion aufrufen. Wie Sie das tun, erfahren Sie
später in diesem Kapitel.
Funktionsargumente
Setzen Sie die an eine Funktion übergebenen Argumente in die Klammern der Funktionsdefinition. Das
sieht dann prinzipiell so aus:
function myFunction(argument1, argument2, ..., argumentN) {
}
Was macht eine Funktion aus?
169
Das folgende Beispiel zeigt eine Funktion mit zwei Argumenten:
function myFunction(argument1, argument2) {
// Etwas tun
}
Aufgerufen wird eine Funktion einfach wie folgt:
myFunction(val1,val2);
Gegenüber anderen Sprachen ist es bei JavaScript (in der ECMA-262-Spezifikation) weder erforderlich, die
Anzahl der an eine Funktion zu übergebenden Argumente zu spezifizieren, noch muss die Anzahl der
übergebenen Argumente mit der Funktionsdefinition übereinstimmen. Beim Aufruf erhält die Funktion ein
Objekt (das wie ein Array fungiert) namens arguments. Das arguments-Objekt nimmt die an die Funktion
gesendeten Argumente auf, was nützlich sein kann, wenn man die Anzahl der zu übergebenden Argumente
nicht kennt. Wie dies funktioniert, zeigt das folgende Beispiel (dessen Code Sie in der Begleitdatei function-
basics.txt finden):
function myFunction() {
var firstArg = arguments[0];
var secondArg = arguments[1];
}
Besser ist es jedoch, wenn man die Länge des arguments-Objekts ermitteln und jedes Argument durchlaufen
kann, wie es der folgende Code zeigt (der ebenfalls in der Begleitdatei functionbasics.txt zu finden ist):
function myFunction() {
var argLength = arguments.length;
for (var i = 0; i < argLength; i++) {
// Etwas mit jedem argument(i) tun
}
}
Das folgende umfassendere Beispiel zeigt die Ergebnisse aus einer einfachen Verwendung des arguments-
Objekts an (ebenfalls in der Datei functionexample.htm enthalten):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Arguments-Array</title>
</head>
<body>
<script type="text/javascript">
function myFunction() {
var firstArg = arguments[0];
var secondArg = arguments[1];
alert("firstArg ist: " + firstArg);
alert("secondArg ist: " + secondArg);
}

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required