⊗jsPmFNOIP 250 of 505 menu

Parámetros de funciones externas e internas en JavaScript

Hagamos que tanto la función externa como la interna acepten parámetros:

function test(num) { function func(localNum) { console.log(localNum); } }

Pasemos el parámetro de la función externa a la llamada de la función interna:

function test(num) { function func(localNum) { console.log(localNum); // mostrará 1 } func(num); //!! pasamos el parámetro } test(1); // pasamos un número como parámetro

Resulta que en la función interna estará disponible la variable num como una variable externa de la función padre y la variable localNum, que es una variable local de la función interna.

Ambas variables tendrán los mismos valores:

function test(num) { function func(localNum) { console.log(num); // mostrará 1 console.log(localNum); // mostrará 1 } func(num); } test(1);

La diferencia entre ellas será la siguiente: si en la función interna cambiamos la variable num - también cambiará en la función externa:

function test(num) { function func(localNum) { num = 2; // cambiamos la variable num } func(num); // pasamos el parámetro console.log(num); // mostrará 2 } test(1); // pasamos un número como parámetro

Y la variable localNum será local. Sus cambios no conducirán a ningún cambio en la función externa. Y la propia variable localNum no será visible fuera de la función interna:

function test(num) { function func(localNum) { localNum = 2; // cambiamos la variable num } func(num); // pasamos el parámetro } test(1); // pasamos un número como parámetro

Determine, sin ejecutar el código, qué se mostrará en la consola:

function test(num) { function func(localNum) { console.log(localNum); } func(num); } test(1);

Determine, sin ejecutar el código, qué se mostrará en la consola:

function test(num) { function func(localNum) { console.log(localNum); } func(num + 1); } test(1);

Determine, sin ejecutar el código, qué se mostrará en la consola:

function test(num) { function func(localNum) { console.log(num); } func(num + 1); } test(1);

Determine, sin ejecutar el código, qué se mostrará en la consola:

function test(num) { function func(localNum) { localNum = 2; } func(num); console.log(num); } test(1);

Determine, sin ejecutar el código, qué se mostrará en la consola:

function test(num) { function func(localNum) { localNum = 2; } func(num); console.log(localNum); } test(1);

Determine, sin ejecutar el código, qué se mostrará en la consola:

function test(num) { function func(localNum) { num = 2; } func(num); console.log(num); } test(1);
mssventrda