Funktionsparameter
In der letzten Lektion steckten Schritte unter einem Namen; die Klammern blieben leer. Echte Programme brauchen Eingaben — einen Namen, eine Summe, eine Nachricht — damit derselbe Rumpf mit anderen Werten arbeitet. Diese benannten Plätze heißen Parameter. Die Werte, die du beim Aufruf übergibst, sind Argumente.
Parameter und Argumente
Schreibst du function greet(name) { … }, ist name ein Parameter: ein lokaler Name im Rumpf. Schreibst du greet("Sara"), ist "Sara" das Argument: der konkrete Wert für diesen Aufruf. Ein Rezept, andere Zutaten.
Wer steht wo
📊 Parameter vs. Argument
| Idee | Wo du es schreibst | Alltag |
|---|---|---|
| Parameter | in () bei der Deklaration |
leere Schüssel mit Etikett name |
| Argument | in () beim Aufruf |
was du hineinschüttest — "Sara" |
| Reihenfolge | von links nach rechts | erstes Argument → erster Parameter |
| Default | name = "friend" in der Deklaration |
Reserve, falls nichts kommt |
| fehlender Platz | Aufruf mit weniger Werten | Parameter ist undefined, außer es gibt einen Default |
Parameter gehören zur Deklaration. Argumente kommen bei jedem Aufruf. Die Wörter zu verwechseln ist ein typischer Anfängerfehler — behalte die Tabelle, bis die Gewohnheit sitzt.
function greet(name) {
console.log("Hello, " + name);
}
greet("Sara");
Eine Eingabe, ein Platz
name wartet in greet. Der Aufruf übergibt "Sara". Der Rumpf baut Hello, Sara und loggt es. Argument ändern, Rumpf behalten — genau deshalb gibt es Parameter.
function add(a, b) {
console.log(a + b);
}
add(3, 4);
Zwei Plätze, zwei Werte
Parameter mit Kommas: a, b. Argumente in derselben Reihenfolge: 3 landet in a, 4 in b. Das Log zeigt 7. Der Rumpf hardcodiert die Zahlen nicht — der Aufruf liefert sie.
function label(color, surface) {
console.log(color + " on " + surface);
}
label("red", "wall");
label("wall", "red");
Die Reihenfolge ist der Vertrag
Der erste Aufruf druckt red on wall. Der zweite wall on red — dieselbe Funktion, vertauschte Argumente. JavaScript rät nicht, welcher Wert „wie eine Farbe wirkt“. Die Position entscheidet.
function greetFriend(name = "friend") {
console.log("Hi, " + name);
}
greetFriend("Ali");
greetFriend();
Ersatzwert, wenn nichts kommt
name = "friend" setzt einen Default. greetFriend("Ali") nutzt "Ali". greetFriend() mit leeren Klammern nutzt "friend". Defaults schützen den Rumpf, wenn der Aufrufer einen Platz auslässt.
function showId(id) {
console.log(id);
}
showId();
Kein Wert und kein Default
showId() übergibt nichts an id. Ohne Default ist id undefined — und genau das wird gedruckt. Kein Absturz, sondern ein Hinweis: Argument vergessen oder Default setzen.
Einen String in die Seite geben
Gleiches DOM-Muster wie zuvor, aber die Nachricht entsteht aus dem Argument. Eine Funktion begrüßt verschiedene Gäste — nur der Aufruf ändert sich. Das HTML-Demo darunter macht genau das.
Parameter auf der Seite zeigen
Deklariere eine Funktion mit Gastnamen, schreibe eine kurze Begrüßung in einen Absatz, rufe sie mit einem echten String auf.
<!DOCTYPE html>
<html>
<head>
<title>parameters — page</title>
</head>
<body>
<p id="msg">…</p>
<script>
function welcome(guest) {
let box = document.getElementById("msg");
box.textContent = "Hello, " + guest;
}
welcome("Omar");
</script>
</body>
</html>
Die Seite zeigt Hello, Omar. guest war der Parameter; "Omar" das Argument. Ändere nur den String im Aufruf, lade neu, lies die neue Zeile. Als Nächstes kommt return — einen Wert aus der Funktion schicken.
Selbst ausprobieren
- Schreibe
function hello(name), die"hi "plusnameloggt, und rufe mit deinem Namen auf. - Schreibe
function sum(x, y), diex + yloggt, und rufe mit zwei Zahlen auf. - Rufe eine Zwei-Parameter-Funktion zweimal mit vertauschten Argumenten auf und vergleiche die Logs.
- Setze einen Default wie
title = "guest"und rufe einmal mit Wert, einmal mit leerem()auf. - Rufe eine Ein-Parameter-Funktion ohne Argument und ohne Default auf; prüfe
undefinedin der Konsole. - Ändere im HTML-Demo nur den Argument-String, lade neu, lies den Absatz.
Typische Fehler
- Leeres
()aufrufen, obwohl der Rumpf einen Wert braucht — ohne Default kommtundefined - Argumentreihenfolge tauschen und erwarten, JavaScript „weiß“ welche Rolle was hat
- Parameter (Deklaration) mit Argument (Aufruf) verwechseln
- Komma zwischen zwei Parametern oder Argumenten vergessen
- Hier nach einem Rückgabewert suchen — das ist die nächste Lektion; hier geht es nur um Eingaben
Kurzfassung
- Parameter sind Namen in den
()der Deklaration - Argumente sind Werte, die du beim Aufruf übergibst
- Reihenfolge links nach rechts — erstes mit erstem, zweites mit zweitem
- Defaults füllen einen Platz, wenn der Aufrufer ihn überspringt
- Fehlender Platz ohne Default wird
undefined - Seitenupdates können den übergebenen Wert in der Nachricht nutzen
- Als Nächstes: return — ein Ergebnis aus der Funktion heraus
🧠 Testen Sie Ihr Wissen
Testen Sie Ihr Wissen
Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen
📝 Anweisungen
- Lesen Sie jede Frage sorgfältig
- Wählen Sie die beste Antwort für jede Frage
- Sie können das Quiz so oft wiederholen, wie Sie möchten
- Ihr Fortschritt wird oben angezeigt