English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
El ámbito de la variable es el área del programa donde se define.
Las variables de JavaScript solo tienen dos ámbitos:
Ámbito local
Ámbito global
El ámbito determina la accesibilidad (visibilidad) de la variable.
Las variables declaradas dentro de la función tienenLOCALalcance local, lo que significa que no se pueden llamar ni operar con ellas desde fuera de la función.
// Este código no puede usar cityName function myFunc() { var cityName = "New Delhi"; // Este código puede usar cityName } // Este código no puede usar cityNamePruebe y vea‹/›
Las variables locales tienen un ámbito de función y solo se pueden acceder a ellas desde dentro de la función.
Dado que las variables locales solo se pueden identificar dentro de su función, se pueden usar variables con el mismo nombre en diferentes funciones.
Se crean variables locales al inicio de la función y se eliminan al finalizar la función.
Las variables declaradas fuera de la función tienenGLOBALalcance, lo que significa que todos los scripts pueden usarlas, ya sea que estén dentro o fuera de la función.
// Inicializar variable global var cityName = "New Delhi"; // Este código puede usar cityName function myFunc() { // Este código también puede usar cityName } // Este código puede usar cityNamePruebe y vea‹/›
Las variables globales pueden ser accedidas desde cualquier lugar del programa JavaScript.
En el siguiente ejemplo, crearemos una GLOBAL cityNameLa variable. Dentro de la función hay una variable local con el mismo nombre.
// Inicializar variable global var cityName = "New Delhi"; function myFunc() { //Inicializar variables locales y de ámbito de función var cityName = "Jaipur"; document.writeln(cityName); } //Escribir variables globales y locales document.writeln(cityName); myFunc(); document.writeln(cityName);Pruebe y vea‹/›
Al exportarlas al documento, podemos ver que los valores de las variables difieren según el ámbito y que los valores originales no han cambiado.
Si se asigna un valor a una variable no declarada, se convertirá automáticamente enGLOBAL (global)variables.
Este ejemplo declarará una variable globalcityName,incluso si se asignó un valor dentro de la función.
myFunc(); // Este código puede usar cityName function myFunc() { cityName = "New Delhi"; }Pruebe y vea‹/›
No cree variables globales a menos que sea necesario.
Las variables globales pueden sobrescribir las variables de ventana.
Cualquier función, incluyendo el objeto window, puede sobrescribir la variable GLOBAL.
JavaScript tiene tres palabras clave diferentes para declarar variables, lo que añade una capa de complejidad al lenguaje.
Las diferencias entre ellas se basan en el alcance, la elevación y la reasignación.
Palabra clave | Alcance | Elevación | Se puede reasignar | Se puede declarar de nuevo |
---|---|---|---|---|
var | Alcance de función | Sí | Sí | Sí |
let | Alcance de bloque | No | Sí | No |
const | Alcance de bloque | No | No | No |
ConvarLas variables declaradas con palabras clave no pueden tener alcance de bloque.
Se puede acceder desde el exterior del bloque a las variables declaradas dentro del bloque:
{ var num = 50; } // num puede ser utilizado aquí
ConletLas variables declaradas con palabras clave pueden tener un "alcance de bloque".
No se puede acceder a las variables declaradas dentro del bloque desde el exterior del bloque:
{ let num = 50; } // No se puede usar num aquí
Declaración de variable with constconletEs similar a la scopes de bloques.
{ const num = 50; } // No se puede usar num aquí
El valor de la constante no se puede cambiar mediante reasignación y no se puede declarar de nuevo.
La vida útil de la variable JavaScript comienza en la declaración.
Se eliminará después de que finalice la función,Localvariables.
Al cerrar la ventana del navegador,GlobalLas variables se eliminarán, pero aún estarán disponibles para las nuevas páginas cargadas en la misma ventana.