Return beendet die Funktion
return tut zwei Dinge gleichzeitig: Es gibt einen Wert zurück, und es beendet die Funktion sofort. Der Rest der Funktion wird nicht ausgeführt:
function addiere(a, b) {
return a + b;
console.log("Diese Zeile wird nie ausgeführt.");
}
console.log(addiere(2, 3));Das gibt aus:
5Die Zeile nach return wird nie ausgeführt, weil die Funktion schon eine Zeile vorher beendet wurde.
Das ist zusammen mit Bedingungen praktisch. Die folgende Funktion beschreibt das Wetter anhand der Temperatur:
function beschreibeWetter(grad) {
if (grad < 0) {
return "frostig";
}
if (grad < 20) {
return "kühl";
}
return "warm";
}
console.log(beschreibeWetter(-5));
console.log(beschreibeWetter(12));
console.log(beschreibeWetter(25));Das gibt aus:
frostig
kühl
warmVerfolgen wir die drei Aufrufe:
beschreibeWetter(-5):-5 < 0isttrue, also gibt die Funktion"frostig"zurück und endet. Die zweite Bedingung wird nie geprüft.beschreibeWetter(12): Die erste Bedingung istfalseund die zweitetrue, also gibt die Funktion"kühl"zurück.beschreibeWetter(25): Keine der beiden Bedingungen isttrue, also kommt die Funktion bis zur letzten Zeile und gibt"warm"zurück.
Ein else brauchten wir nicht: Sobald ein return ausgeführt wird, wird der Rest der Funktion ohnehin übersprungen. Aber die Reihenfolge der Bedingungen ist wichtig, denn das erste return, das ausgeführt wird, gewinnt. Würde die Funktion zuerst grad < 20 prüfen, gäbe sie für -5 den Wert "kühl" zurück, denn -5 ist ebenfalls kleiner als 20.
So schreibst du es:
Anweisungen
- 1
Vervollständige die Funktion
ticketPreis, die den Preis einer Zooeintrittskarte für einen Besucher im angegebenen Alter zurückgibt: Kinder unter 6 Jahren kommen kostenlos hinein (0), Besucher unter 18 zahlen5, und alle anderen zahlen10. Das Programm gibt dann0,5und10aus. - 2
Senioren ab 65 Jahren zahlen ebenfalls
5. Füge der Funktion eine Bedingung für sie hinzu und gib am Ende des ProgrammsticketPreis(70)aus.