450 Kapitel 10
Die Passagiere aktualisieren
Funktionen aus Funktionen zurückgeben
Bis jetzt haben wir zwei der Anforderungen an Funktionen erster Klasse
ausprobiert: die Zuweisung von Funktionen an Variablen und die Über-
gabe von Funktionen an Funktionen. Ein Beispiel für die Rückgabe einer
Funktion aus einer Funktion haben wir aber noch nicht gesehen.
Funktionen können Variablen zugewiesen werden.
Funktionen können an Funktionen übergeben werden.
Funktionen können Funktionen zurückgeben.
Wir wollen das Flugzeug-Beispiel ein bisschen erweitern und untersuchen,
warum und wo es sinnvoll sein kann, eine Funktion aus einer Funktion
zurückzugeben. Hierfür erweitern wir die Passagier-Objekte um eine
weitere Eigenschaft namens ticket. Je nachdem, was der Passagier für ein
Ticket gekauft hat, hat sie den Wert »Economy« oder »Erste Klasse«.
Das machen
wir jetzt.
function serveCustomer(passenger) {
// Getränkebestellung aufnehmen
// Essensbestellung aufnehmen
// Abfall einsammeln
}
var passengers = [ { name: "Jane Doloop", paid: true, ticket: "Economy" },
{ name: "Dr. Evel", paid: true, ticket: "Erste Klasse" },
{ name: "Sue Property", paid: false, ticket: "Erste Klasse" },
{ name: "John Funcall", paid: true, ticket: "Economy" } ];
Diese Zusatzinformationen brauchen wir, um den Code
zu schreiben, der für die verschiedenen Aufgaben der
Flugbegleiter zuständig ist.
Hier sind die Dinge, die ein
Flugbegleiter tun muss, um
die Gäste zu bedienen.
Zuerst wollen wir die
Getränkebestellung
implementieren.
Wie Sie vielleicht wissen, ist der Service in der ersten Klasse etwas anders
als das Angebot für Economy-Flieger. In der ersten Klasse können Sie
zwischen einem Cocktail und Wein wählen, während die Gäste in der
Economy-Klasse Cola oder Wasser angeboten bekommen.
Was ich anbiete, hängt von
der Ticket-Klasse ab. In der
ersten Klasse gibt es Wein oder
einen Cocktail, Economy-Gäste
bekommen Cola oder Wasser.
Zumindest ist das in
den Filmen immer so …

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.