474
Rozdział 10.
Aktualizacja pasażerów
Zwracanie funkcji z funkcji
Dotychczas udało się nam sprawdzić dwa wymagania narzucane wartościom
pierwszej klasy: przypisywanie ich do zmiennych oraz przekazywanie do funkcji.
Nie sprawdziliśmy jeszcze przykładu zwracania funkcji jako wyniku wykonania
innej funkcji.
Rozszerzymy nieco przykład z pasażerami samolotu i spróbujemy określić,
dlaczego i kiedy moglibyśmy zwracać jedną funkcję jako wynik wykonania innej
funkcji. W tym celu do każdego obiektu pasażera dodamy nową właściwość,
ticket
, która będzie mogła zawierać jedną z dwóch wartości:
ĵSLHUZV]D
klasa”
lub
ĵWXU\VW\F]QDĵ
, zależnie od rodzaju zakupionego biletu.
Teraz tym się
zajmiemy.
function serveCustomer(passenger) {
// Zbieramy zamówienie na napoje.
// Zbieramy zamówienie na posiïek.
// Zbieramy Ămieci.
}
var passengers = [ { name: ”-anka PÚtlicka”, paid: true, ticket: ”turystyczna” },
{ name: ”Dr Zatan”, paid: true, ticket: ”pierwsza klasa” },
{ name: ”Stefa WïaĂciwa”, paid: false, ticket: ”pierwsza klasa” },
{ name: ”-anek Funkcyjniak”, paid: true, ticket: ”turystyczna” } ];
Dysponując tymi nowymi danymi pasażerów, napiszemy
kod obsługujący różne czynności, które muszą wykonywać
stewardesy.
Tu wypisaliśmy wszystkie czynności,
które musi wykonać stewardesa
w celu obsłużenia pasażera.
Zacznijmy od
zaimplementowania
funkcji pobierającej
zamówienia na napoje.
Jak zapewne wiesz, obsługa w pierwszej klasie zazwyczaj trochę różni się od
obsługi w klasie turystycznej. W pierwszej klasie możesz zamówić wino lub
koktajl, a w turystycznej tylko colę lub wodę.
To, co oferuję
pasażerom, zależy od
rodzaju biletu. W pierwszej klasie
pasażerowie otrzymują wino lub koktajl,
a w klasie turystycznej colę lub
wodę.
A przynajmniej tak to
wygląda w filmach…
Można je zapisywać w zmiennych.
Można je przekazywać do funkcji.
Można je zwracać jako wynik wykonania funkcji.

Get Programowanie w JavaScript Rusz głową! 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.