Verschachtelte Funktionen in JavaScript

Nehmen wir an, wir haben eine Funktion, die zwei Zahlen als Parameter entgegennimmt und die Summe der Quadrate dieser Zahlen zurückgibt:

javascriptfunction func(num1, num2) {
  return num1 * num1 + num2 * num2;
}

console.log(func(2, 3)); // gibt 13 aus (Ergebnis von 2 * 2 + 3 * 3)

Lassen Sie uns die Quadrieroperation in eine Hilfsfunktion square auslagern:

javascriptfunction square(num) {
  return num * num;
}

function func(num1, num2) {
  return square(num1) + square(num2);
}

console.log(func(2, 3)); // gibt 13 aus

Nehmen wir an, wir sind sicher, dass die Funktion square nur in der Funktion func verwendet wird und in keiner anderen.

In diesem Fall wäre es praktisch, sicherzustellen, dass sie niemand versehentlich verwendet (Sie selbst oder ein anderer Programmierer, der mit Ihnen zusammenarbeitet).

JavaScript hat eine elegante Lösung: Man kann unsere Hilfsfunktion square innerhalb von func platzieren. In diesem Fall ist unsere Hilfsfunktion nur innerhalb von func verfügbar und von außen nicht.

Machen wir das:

javascriptfunction func(num1, num2) {
  function square(num) {
    return num * num;
  }
  
  return square(num1) + square(num2);
}

console.log(func(2, 3)); // gibt 13 aus

Der Versuch, square von außerhalb von func aufzurufen, führt zu einem Fehler:

javascriptfunction func(num1, num2) {
  function square(num) {
    return num * num;
  }
  
  return square(num1) + square(num2);
}

console.log(square(2)); //!! führt zu einem Fehler
Задание 1

Erstellen Sie eine Funktion func, die als Parameter zwei Zahlen entgegennimmt und die Summe des Quadrats der ersten Zahl mit der dritten Potenz der zweiten Zahl zurückgibt. Erstellen Sie dafür eine Hilfsfunktion square, die eine Zahl quadriert, und eine Hilfsfunktion cube, die eine Zahl in die dritte Potenz erhebt.