⊗jsPmFNIF 247 of 505 menu

Funzioni annidate in JavaScript

Supponiamo di avere una funzione che accetta come parametri due numeri e restituisce la somma dei quadrati di questi numeri:

function func(num1, num2) { return num1 * num1 + num2 * num2; } console.log(func(2, 3)); // visualizzerà 13 (risultato di 2 * 2 + 3 * 3)

Spostiamo l'operazione di elevazione al quadrato in una funzione di supporto square:

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

Supponiamo di essere sicuri che la funzione square sarà utilizzata solo all'interno della funzione func e in nessun'altra.

In questo caso sarebbe comodo fare in modo che nessuno la utilizzi accidentalmente (voi stessi o un altro programmatore che lavora insieme a voi).

JavaScript ha una soluzione elegante: possiamo posizionare la nostra funzione di supporto square all'interno di func. In questo caso la nostra funzione di supporto sarà accessibile solo all'interno di func, e non all'esterno.

Facciamolo:

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

Tentare di chiamare square dall'esterno di func porterà a un errore:

function func(num1, num2) { function square(num) { return num * num; } return square(num1) + square(num2); } console.log(square(2)); //!! darà un errore

Crea una funzione func che accetti come parametri due numeri e restituisca la somma del quadrato del primo numero con il cubo del secondo numero. Crea a questo scopo una funzione di supporto square, che eleva un numero al quadrato, e una funzione di supporto cube, che eleva un numero al cubo.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta