Hay dos tipos de variables en JavaScript: variables locales y variables globales. Por supuesto, nuestro artículo es ayudarlo a distinguir estas dos variables.
Primero, las variables locales se refieren a funciones que solo pueden llamarse dentro de una función declarada por esta variable. Una variable que se puede llamar en todo el código como una variable global. Por supuesto, definitivamente no está claro entender literalmente. Lo presentaré en detalle a continuación:
Como todos sabemos, las variables deben declararse con la palabra clave VAR. Sin embargo, las variables también se pueden usar implícitamente en JavaScript, lo que significa que se usan directamente sin declaración. Además, tenga cuidado de que JavaScript siempre use variables declaradas implícitamente como variables globales.
Por ejemplo:
La copia del código es la siguiente:
función myname () {
i = 'yuanjianhang';
}
myname ();
función dice name () {
alerta (i);
}
SayName ();
El resultado de la salida es: Yuanjianhang
Esto muestra que la variable I es una variable global. Si el código anterior se cambia a lo siguiente:
La copia del código es la siguiente:
función myname () {
var i = 'yuanjianhang';
}
myname ();
función dice name () {
alerta (i);
}
SayName ();
En este punto, el navegador no tendrá resultado de salida, porque yo está definido en el myname de la función, por lo que es solo una variable local de myname y no se puede llamar externamente.
Ahora mira hacia atrás al siguiente código:
La copia del código es la siguiente:
función myname () {
i = 'yuanjianhang';
}
myname ();
función dice name () {
alerta (i);
}
SayName ();
Ahora, hagamos algunos cambios y eliminemos myname (); y el código es el siguiente:
La copia del código es la siguiente:
función myname () {
i = 'yuanjianhang';
}
función dice name () {
alerta (i);
}
SayName ();
En este momento, el navegador no reaccionará mucho. Porque aunque yo es una variable global, la función myname () no se llama, por lo que es equivalente a eso, aunque se declara, no asigna ningún valor a I, por lo que no hay salida.
Del mismo modo, si el ejemplo anterior se cambia a:
La copia del código es la siguiente:
función myname () {
i = 'yuanjianhang';
}
función dice name () {
alerta (i);
}
SayName ();
myname ();
En este caso, no se emitirán resultados. Cuando se ejecuta el código JavaScript, el valor de la variable se verificará cuando se llame a la función sayname (). En este momento, el MyName de la función aún no se ha ejecutado, lo que significa que aún no me han asignado, por lo que no se producirán resultados.
Para facilitar la mejor comprensión de todos, aquí hay otro ejemplo:
La copia del código es la siguiente:
var i = 'yuanjianhang';
función mylovename () {
i = 'guanxi';
}
mylovename ();
función myname () {
alerta (i);
}
myname ();
¿Cuál es el resultado esta vez?
La respuesta es guanxi
En primer lugar, el valor original de I es Yuanjianhang, pero después de llamar a la función mylovename (), el valor de I se cambia a guanxi, por lo que el resultado final de salida es guanxi.
Si cambia el código a:
La copia del código es la siguiente:
var i = 'yuanjianhang';
función mylovename () {
var i = 'guanxi';
}
mylovename ();
función myname () {
alerta (i);
}
myname ();
El resultado en este momento es Yuanjianhang, porque los dos I en el código son diferentes, uno es global y el otro es local. También se puede entender de esta manera. Aunque los nombres de los dos son los mismos, la esencia de estos dos I es diferente, como si hubiera dos personas con el mismo nombre. Aunque los nombres son los mismos, no son la misma persona.
Si transforma el código en esto:
La copia del código es la siguiente:
var i = 'yuanjianhang';
función mylovename () {
i = 'guanxi';
}
función myname () {
alerta (i);
}
myname ();
mylovename ();
Creo que todos pueden descubrir el resultado por sí mismos, y el resultado es Yuanjianhang.
Dado que las variables globales se pueden llamar dentro de la función, ¿qué pasa con la siguiente situación:
La copia del código es la siguiente:
var i = 'yuanjianhang';
función mylovename () {
i = 'guanxi';
alerta (i);
}
mylovename ();
¿Qué valor es la variable en este momento?
Analicemos:
Primero, la variable global I se asigna como: Yuanjianhang.
Se llama a la siguiente función mylovename (), y la variable global i se reasigna a un nuevo valor: guanxi
Entonces, el resultado es definitivamente: Guanxi.
¿Qué pasa si tomamos alerta por adelantado, así:
La copia del código es la siguiente:
var i = 'yuanjianhang';
función mylovename () {
alerta (i);
i = 'guanxi';
}
mylovename ();
¿Cuál es el resultado en este momento?
Los resultados verificados son: indefinidos
¿Qué pasa si el código es así?
La copia del código es la siguiente:
var i = 'yuanjianhang';
función mylovename () {
alerta (i);
}
mylovename ();
El resultado en este momento es: Yuanjianhang
¿Por qué ocurre la situación indefinida anterior? Porque la orden de ejecución del código es de arriba a abajo, y no hay una definición de I antes de salir i. Entonces, a partir de esto, podemos ver que al usar el código, ¡la declaración de variables debe colocarse frente al código para evitar problemas similares!
Similarmente:
La copia del código es la siguiente:
var i = 'yuanjianhang';
función mylovename () {
alerta (i);
var i = 'guanxi';
}
mylovename ();
En este caso, también saldrá: indefinido
Bien, solo tengo tantas presentaciones sobre variables, y creo que cualquiera puede entenderlos. No importa cómo se copie el código, su núcleo no cambiará.
Lo anterior se trata de este artículo. ¿Ha tenido una comprensión más profunda de la diferencia entre las variables locales y las variables globales en JavaScript? Les deseo un feliz año nuevo y un estudio feliz.