Sie sind hier 89
Einführung in Funktionen
Was kann einer Funktion übergeben werden?
Beim Funktionsaufruf werden Argumente übergeben. Diese werden
dann auf die Parameter in der Funktionsdefinition abgebildet. Als
Argument kann fast jeder JavaScript-Wert übergeben werden,
beispielsweise ein String, ein Boolescher Wert oder eine Zahl:
saveMyProfile("krissy", 1991, 3.81, false);
function saveMyProfile(name, birthday, GPA, newuser) {
if (birthday >= 2004) {
// Code zum Verarbeiten von Schülerdaten
}
// hier der Rest des Codes der Funktion
}
Argumente können beliebige JavaScript-Werte sein.
Jedes Argument wird auf den
entsprechenden Parameter in der
Funktion abgebildet.
Jeder Parameter funktioniert
innerhalb der Funktion wie
eine Variable.
Auch Variablen können als Argumente übergeben werden. Das kommt sogar
recht häufig vor. Hier sehen Sie den gleichen Funktionsaufruf mit Variablen:
var student = "krissy";
var year = 1991;
var GPA = 381/100;
var status = "registrierter_benutzer";
var isNewUser = (status == "neuer_benutzer");
saveMyProfile(student, year, GPA, isNewUser);
Selbst Ausdrücke können Sie als Argumente verwenden:
var student = "krissy";
var status = "registrierter_benutzer";
var year = 1991;
saveMyProfile(student, year, 381/100, status == "neuer_benutzer");
Jetzt werden alle übergebenen Werte
in Variablen gespeichert. Wenn wir die
Funktion aufrufen, werden die Werte der
Variablen als Argumente übergeben.
Hier übergeben wir den Wert der
Variablen student (»krissy«) als
Argument an den Parameter.
Für die übrigen Argumente
verwenden wir ebenfalls Variablen.
Ja, selbst diese
Ausdrücke
funktionieren als
Argumente!
Zunächst wird der Ausdruck
ausgewertet. Der resultierende Wert
wird dann an die Funktion übergeben.
Wir können auch einen
numerischen Ausdruck
auswerten …
… oder einen Booleschen Ausdruck wie
diesen hier, der dafür sorgt, dass der
Wert false an die Funktion übergeben wird.
90 Kapitel 3
Parameter im Vergleich mit Argumenten
Ich bin immer noch nicht sicher, ob ich
den Unterschied zwischen Parameter und
Argument wirklich verstanden habe. Sind
das nicht einfach zwei Namen für die
gleiche Sache?
Nein, sie sind unterschiedlich.
Wenn Sie eine Funktion definieren, dann können Sie
diese mit einem oder mehreren Parametern definieren.
function cook(degrees, mode, duration) {
// Hier steht Ihr Code.
}
Hier definieren wir drei Parameter: degrees
(Grad), mode (Backart) und duration (Dauer).
Bei einem Funktionsaufruf rufen Sie die Funktion mit
bestimmten Argumenten auf.
cook(425.0, "backen", 45);
Das hier sind drei Argumente: eine Fließkommazahl,
ein String und ein ganzzahliger Wert.
cook(350.0, "grillen", 10);
Das heißt, die Parameter werden nur einmal definiert, aber Sie können
die Funktion mit vielen verschiedenen Argumenten aufrufen.
Was gibt dieser Code aus? Sind Sie sicher?
function doIt(param) {
param = 2;
}
var test = 1;
doIt(test);
console.log(test);
Kopf-
nuss
Sie sind hier 91
Einführung in Funktionen
Unten finden Sie etwas JavaScript-Code inklusive einiger Variablen, Funktionsdefinitionen
und -aufrufe. Ihre Aufgabe ist es, alle Variablen, Funktionen, Argumente und Parameter zu
identifizieren. Schreiben Sie die Namen in die Kästen auf der rechten Seite. Überprüfen Sie
Ihre Antworten am Ende dieses Kapitels, bevor Sie weiterlesen.
Var iablen
Funktionen
Parameter
Argumente
function dogYears(dogName, age) {
var years = age * 7;
console.log(dogName + " ist " + years + " Jahre
alt");
}
var myDog = "Fido";
dogYears(myDog, 4);
function makeTea(cups, tea) {
console.log("Koche " + cups + " Tassen " + tea);
}
var guests = 3;
makeTea(guests, "Ostfriesentee");
function secret() {
console.log("Die Antwort lautet 42");
}
secret();
function speak(kind) {
var defaultSound = "";
if (kind == "hund") {
alert("Wuff");
} else if (kind == "katze") {
alert("Miau");
} else {
alert(defaultSound);
}
}
var pet = prompt("Geben Sie mir einen Tiernamen: ");
speak(pet);
Eingebaute Funktionen
Übung

Get JavaScript-Programmierung von Kopf bis Fuß now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.