⊗jsPmFNIF 247 of 505 menu

Nästlade funktioner i JavaScript

Låt oss säga att vi har en funktion som tar två tal som parametrar och returnerar summan av kvadraterna av dessa tal:

function func(num1, num2) { return num1 * num1 + num2 * num2; } console.log(func(2, 3)); // skriver ut 13 (resultatet av 2 * 2 + 3 * 3)

Låt oss flytta kvadratoperationen till en hjälpfunktion square:

function square(num) { return num * num; } function func(num1, num2) { return square(num1) + square(num2); } console.log(func(2, 3)); // skriver ut 13

Låt oss anta att vi är säkra på att funktionen square kommer att användas endast i funktionen func och ingen annanstans.

I det fallet vore det bekvämt att se till att ingen av misstag använder den (vare sig du själv eller en annan programmerare som arbetar tillsammans med dig).

JavaScript har en elegant lösning: vi kan placera vår hjälpfunktion square inuti func. I det här fallet kommer vår hjälpfunktion endast att vara tillgänglig inuti func, men inte utanför.

Låt oss göra så:

function func(num1, num2) { function square(num) { return num * num; } return square(num1) + square(num2); } console.log(func(2, 3)); // skriver ut 13

Ett försök att anropa square utanför func kommer att leda till ett fel:

function func(num1, num2) { function square(num) { return num * num; } return square(num1) + square(num2); } console.log(square(2)); //!! kommer att ge ett fel

Skapa en funktion func som parametrar tar två tal, och returnerar summan av kvadraten på det första talet med kuben av det andra talet. Skapa för detta en hjälpfunktion square, som upphöjer ett tal till kvadrat, och en hjälpfunktion cube, som upphöjer ett tal till kub.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa