Variables globales y parámetros de funciones en JavaScript
Supongamos que tenemos una función que acepta un número como parámetro:
function func(localNum) {
console.log(localNum);
}
Supongamos que fuera de la función hay una variable num:
function func(localNum) {
console.log(localNum);
}
let num = 1; // variable global externa
Llamemos a nuestra función, pasándole la variable num como parámetro:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num); // llamamos a la función con el parámetro, mostrará 1
Como resultado, dentro de la función estarán disponibles tanto la variable localNum (el parámetro de la función) como la variable num (como variable externa):
function func(localNum) {
console.log(num); // mostrará 1
console.log(localNum); // mostrará 1
}
let num = 1;
func(num);
La propia variable localNum será una variable local de la función y no estará disponible desde fuera:
function func(localNum) {
}
let num = 1;
func(num); // llamamos a la función con el parámetro
console.log(localNum); // dará un error
Dado que la variable localNum es local, cualquier cambio realizado en ella no modificará nada fuera:
function func(localNum) {
localNum = 2; // no cambia nada fuera
}
let num = 1;
func(num);
Sin embargo, si se modifica la variable num (global) dentro, los cambios también se reflejarán fuera:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num); // mostrará 2
No obstante, si declaramos la variable num dentro de la función usando let, crearemos así una variable local num que no afecta para nada a la variable externa:
function func(localNum) {
let num = 2; // la declaramos con let
}
let num = 1;
func(num);
console.log(num); // mostrará 1 - nada ha cambiado
Determine, sin ejecutar el código, qué se mostrará en la consola:
function func(localNum) {
console.log(localNum);
}
func(1);
Determine, sin ejecutar el código, qué se mostrará en la consola:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
Determine, sin ejecutar el código, qué se mostrará en la consola:
function func(localNum) {
console.log(localNum);
}
let num = 1;
func(num);
num = 2;
Determine, sin ejecutar el código, qué se mostrará en la consola:
let num = 1;
function func(localNum) {
console.log(localNum);
}
num = 2;
func(num);
Determine, sin ejecutar el código, qué se mostrará en la consola:
function func(localNum) {
localNum = 2;
}
let num = 1;
func(num);
console.log(num);
Determine, sin ejecutar el código, qué se mostrará en la consola:
function func(localNum) {
num = 2;
}
let num = 1;
func(num);
console.log(num);
Determine, sin ejecutar el código, qué se mostrará en la consola:
function func(localNum) {
let num = 2;
}
let num = 1;
func(num);
console.log(num);