⊗jsPmFNIF 247 of 505 menu

Funciones anidadas en JavaScript

Supongamos que tenemos una función que acepta como parámetros dos números y devuelve la suma de los cuadrados de estos números:

function func(num1, num2) { return num1 * num1 + num2 * num2; } console.log(func(2, 3)); // mostrará 13 (resultado de 2 * 2 + 3 * 3)

Saquemos la operación de elevar al cuadrado a una función auxiliar square:

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

Supongamos que estamos seguros de que la función square se utilizará solo en la función func y en ninguna más.

En este caso sería conveniente hacer que nadie la use accidentalmente (usted mismo u otro programador que trabaje junto con usted).

JavaScript tiene una solución elegante: se puede colocar nuestra función auxiliar square dentro de func. En este caso nuestra función auxiliar solo estará disponible dentro de func, y fuera de ella no lo estará.

Hagamos esto:

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

El intento de llamar a square fuera de func provocará un error:

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

Haga la función func que acepte como parámetros dos números, y devuelva la suma del cuadrado del primer número con el cubo del segundo número. Para ello, haga la función auxiliar square, que eleve un número al cuadrado, y la función auxiliar cube, que eleve un número al cubo.

Español
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Usamos cookies para el funcionamiento del sitio, análisis y personalización. El procesamiento de datos se realiza de acuerdo con la Política de privacidad.
aceptar todas configurar rechazar