Comprensión del alcance global, el alcance local y el alcance a nivel de bloque de las variables de JavaScript

Este es el día 14 de mi participación en el Desafío de actualización de agosto. Para obtener detalles del evento, consulte: Desafío de actualización de agosto

Las variables de JavaScript son contenedores que almacenan valores de datos. El alcance de las variables de JavaScript se puede dividir en alcance global, alcance local y alcance a nivel de bloque. Todas las variables de JavaScript  deben identificarse con nombres únicos .

Estos nombres únicos se denominan identificadores .

Los identificadores pueden ser nombres cortos (como x e y) o nombres más descriptivos (edad, suma, volumen total).

Las reglas generales para construir nombres de variables (identificadores únicos) son:

  • Los nombres pueden contener letras, números, guiones bajos y signos de dólar.
  • El nombre debe comenzar con una letra
  • Los nombres también pueden comenzar con $ y _ (pero no lo haremos en este tutorial)
  • Los nombres distinguen entre mayúsculas y minúsculas (y e Y son variables diferentes)
  • Las palabras reservadas (como las palabras clave de JavaScript) no se pueden usar como nombres de variables

Sugerencia: los identificadores de JavaScript distinguen entre mayúsculas y minúsculas.

 1. Variables globales

Variable global: una variable declarada usando var en cualquier otra ubicación, excepto para funciones, entonces esta variable es una variable global, que se puede usar en cualquier lugar de la página.

Para las variables globales, si no se cierra la página, la memoria ocupada por la variable no se liberará, ocupará espacio y consumirá memoria.

var lut = 520;
console.log(lut); // 520
复制代码

2. Variables locales

Variable local: una variable definida dentro de una función es una variable local y no se puede utilizar fuera.

function lut() {
  var luzp = 410;
}
lut();
console.log(luzp);  // luzp is not defined  报错
复制代码

 3. Alcance del bloque

Ámbito de nivel de bloque: un par de llaves se pueden considerar como un bloque. Las variables definidas en esta área solo se pueden usar en esta área, pero las variables definidas en este ámbito de nivel de bloque en js también se pueden usar.
Nota: js no tiene alcance a nivel de bloque, a excepción de las funciones.

{
  var lut = 520;
  console.log(lut); // 520
}
console.log(lut);

if(true){
  var lut = 1314;
}
console.log(lut);

for(var i = 0;i < 5; i++){
  var lut = 520;
}
console.log(lut); // 520

var i = 0;
while (i < 5){
  var lut = 1314;
  i++;
}
console.log(lut); // 1314
复制代码

4. Variables globales implícitas

Variable global implícita: una variable declarada sin var se denomina variable global implícita.

function lut() {

date = 410;//是隐式全局变量

}

lut();

console.log(date); // 410 函数运行结束还可以访问
复制代码

Darse cuenta:

1. Las variables globales no se pueden eliminar y las variables globales implícitas se pueden eliminar

2. La definición de variables usando var no se eliminará y no se puede eliminar ninguna var 

3. Al definir variables, intente usar var tanto como sea posible 

var luzp = 27;
lut = 23;
delete luzp; //把luzp删除了
delete lut; //把lut删除了
console.log(typeof luzp); // number  不能被删除
console.log(luzp+10);     // 37
console.log(typeof lut);  // undefined 可被删除
复制代码

Supongo que te gusta

Origin juejin.im/post/6996520546556968991
Recomendado
Clasificación