1. Variables
Las variables ECMAScript son variables sueltas. Las llamadas variables sueltas significa que el nombre de la variable puede contener cualquier tipo de datos. Cada variable es solo un marcador de posición para guardar el valor.
Definición: Var FirstDemo;
2. El alcance de las variables
2.1 Concepto básico
Use VAR para definir variables: defina variables locales que definan el alcance de la variable. Este método de definición de variables también es una declaración explícita.
Si no comprende esto, puede echar un vistazo al siguiente ejemplo simple y crudo:
La copia del código es la siguiente:
prueba();
función test () {
var firstDemo = "Hello"; // Definir variables locales
alerta (FirstDemo); // Hola
}
prueba();
función test () {
var firstDemo = "Hello"; // Defina la variable local FirstDemo
}
alerta (FirstDemo); // Informe un error, FirstDemo no está definido
De los dos ejemplos anteriores, si una variable se define usando VAR en una función, la variable se destruirá después de que salga de la función.
Omitir var para definir variables: siempre que la función que define la variable se llama una vez, se puede acceder a la variable a nivel mundial. Este método de definición de variables también es una declaración implícita
La copia del código es la siguiente:
<script type = "text/javaScript">
prueba();
alerta (FirstDemo); //Hola
función test () {
FirstDemo = "Hola";
}
</script>
Consejos: La variable declarada explícitamente ya se compila en el objeto llamado en la precompilación (por ejemplo, var t = 1; var t = 1 cuando precompila; t = 1 cuando se interpreta;) A diferencia de las variables declaradas implícitamente definidas como variables globales solo cuando se interpretan.
Descubrir el alcance de las variables puede ayudarnos a pensar en cómo declarar las variables razonablemente, lo que no solo reduce la sobrecarga de memoria innecesaria, sino que también evita enormemente los problemas causados por definiciones repetidas de variables y sobrescribir variables previamente definidas.
2.2 Análisis de alcance
La copia del código es la siguiente:
<script type = "text/javaScript">
FUNCIÓN DEMOFUNTACIÓN (S) {
document.writeln (s)
}
var i = 0; // Definir variable global
función test () {
demOfunción (i);
function innerFunction () {
var i = 1; // Definir variables locales
demOfunción (i);
}
InnerFunction ();
demOfunción (i);
}
prueba();
</script>
Resultado de salida: 0 1 0
La copia del código es la siguiente:
<script type = "text/javaScript">
FUNCIÓN DEMOFUNTACIÓN (S) {
document.writeln (s)
}
var i = 0;
función test () {
demOfunción (i);
function innerFunction () {
demOfunción (i);
var i = 1;
demOfunción (i);
}
InnerFunction ();
demOfunción (i);
}
prueba();
</script>
Resultado de salida:
A, 0 0 1 0
B, 0 indefinido 1 0
C, 0 Error I no está definido
Puede adivinar cuál es el resultado, y la razón se explicará en detalle en el mensaje.
Lo anterior se trata de este artículo. En pocas palabras, el alcance de las variables en cualquier lenguaje de programación es un detalle muy crítico. El alcance de las variables en JS es relativamente más libre que el de los idiomas como Java y C. Una gran característica es que las variables JS no tienen alcance de nivel de bloque, y las variables en las funciones son válidas en toda la función.