Menu
Coddy logo textTech

Verschachtelte Funktion

Lektion 7 von 14 im Kurs Funktionsdeklarationen in JavaScript von Coddy.

Verschachtelte Funktionen sind wie Superhelden mit Sidekicks – es sind leistungsstarke Funktionen, die andere Funktionen in sich selbst erstellen und verwenden können.

Eine verschachtelte Funktion ist eine Funktion, die innerhalb einer anderen Funktion definiert ist. Die innere Funktion hat Zugriff auf die Variablen und Parameter der äußeren Funktion, wodurch ein lokaler Gültigkeitsbereich innerhalb der äußeren Funktion entsteht.

Stellen Sie sich vor, Sie haben eine Hauptfunktion (den Superhelden), die Hilfe bei einer bestimmten Aufgabe benötigt. Anstatt sich auf eine externe Funktion zu verlassen, kann sie eine Hilfsfunktion (den Sidekick) in sich selbst erstellen, um diese spezifische Aufgabe zu erledigen. Auf diese Hilfsfunktion kann nur die Hauptfunktion zugreifen und sie verwenden. Zum Beispiel:

function calculateDiscount(originalPrice, discountPercentage) {
  	function calculateDiscountAmount(price, discount) {
    	return price * discount; // Berechnet den Rabattbetrag (innere Funktion)
  	}

  	const discountAmount = calculateDiscountAmount(originalPrice, discountPercentage / 100);
  	const finalPrice = originalPrice - discountAmount;
  	return finalPrice;
}

const discountedPrice = calculateDiscount(100, 20);
console.log(discountedPrice); // Ausgabe: 80
  • Äußere Funktion:
    • Wir definieren eine Funktion namens calculateDiscount, die zwei Argumente entgegennimmt: originalPrice und discountPercentage.
  • Innere Funktion:
    • Innerhalb der äußeren Funktion definieren wir eine weitere Funktion namens calculateDiscountAmount. Dies ist die verschachtelte Funktion. Sie nimmt zwei Argumente entgegen: price und discount (beachten Sie, dass sie keinen direkten Zugriff auf originalPrice oder discountPercentage hat).
  • Ausgabe: Die Funktion gibt den Endpreis zurück, der 80 beträgt (nach Anwendung des Rabatts von 20 %).
challenge icon

Aufgabe

Einfach

Ihre Aufgabe ist es, eine verschachtelte Funktion namens calculateTaxAmount zu erstellen, die den price und die taxRate von der äußeren Funktion calculateWithTax übernimmt, den Steuerbetrag berechnet und diesen zurückgibt. (Der Steuerbetrag ist der Preis multipliziert mit dem Steuersatz)

Schließlich sollte die äußere Funktion den Endpreis (einschließlich Steuern) berechnen und zurückgeben, indem sie den Steuerbetrag zum ursprünglichen Preis addiert und den Endpreis zurückgibt.

Probier es selbst

function calculateWithTax(product) {
    let price = product.price;
    let taxRate = product.taxRate;
   // Code hier schreiben
}

Alle Lektionen in Funktionsdeklarationen in JavaScript