Veamos primero un pedazo de código
función show () {alerta (ABC); } var abc = "defg"; espectáculo();Las personas que tienen experiencia en la programación de C ++ o Java pueden decir: "Este programa está muerto y la variable se define después de la función que hace referencia a la variable. El error lo destruirá". Si lo ejecuta en el navegador, ¿qué pasará? ¡Corre perfectamente! A continuación, hablemos de lo que está sucediendo: la diferencia entre variables con VAR y sin definición VAR.
1. Sin var
En pocas palabras, no es seguro omitir VAR al definir variables, pero es legal. En este momento, sin importar dónde se define la variable, el intérprete asignará el alcance global variable.
2. Tener var
Seguro y legal. El alcance de una variable definida depende de la ubicación de la definida. En cuanto a lo que es el alcance, consulte el artículo "JavaScript Alcance" en este blog.
De esta manera, el problema al principio se puede resolver. La definición de ABC en la función es solo el valor de indefinido. En este momento, ABC tiene un alcance global, y el exterior de la función es solo la actualización del valor de ABC.