⊗jsPmFNIF 247 of 505 menu

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:

function 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:

function 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:

function 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:

function func(num1, num2) { function square(num) { return num * num; } return square(num1) + square(num2); } console.log(square(2)); //!! führt zu einem Fehler

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.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen