La cadena de alcance y el alcance de JavaScript es la parte más dolorosa de mi aprendizaje, porque pasé mucho tiempo leyendo muchos documentos técnicos pero no pude entenderlo. Sabía más o menos lo que significaba, pero aún no podía decir por qué.
A través de mis extensas pruebas y lectura de documentos técnicos, he resumido la siguiente comprensión. Aunque no es muy técnico, realmente puedo entenderlo.
1. JavaScript solo se divide en global y local, y no hay varios modificadores para esos idiomas de fondo. Si no usa VAR en una función, es global. como sigue:
<script type = "text/javaScript"> varname = "c#"; // global window.name = "java"; // global varLanguage = function () {alert (nombre); name = "javascript"; // global var name = "js"; // alerta local (nombre); } () alerta (nombre); </script>El código anterior representa globalmente todo apunta a la misma variable, y la siguiente definición reemplazará lo anterior. Con respecto a las tres alertas, a saber, Underfind, JS y JavaScript. Este es el alcance que juega un papel.
2. La cadena de alcance comienza desde el nivel 0 y está dispuesto hacia abajo en secuencia. La llamada secuencia hacia abajo se refiere a la disposición de los niños. Cuando busque variables, primero busquelas desde el mismo nivel y luego busque el nivel de los padres.
En el ejemplo anterior,
Lo primero que aparece es la primera alerta en el método de idioma. Si la ventana global es 0, entonces en el ejemplo var name = "js" es 1. La primera alerta se encuentra en 1.
La segunda ventana emergente es la segunda alerta en el método de idioma, y la buscará en 1, es decir, el interior del método. Encontró el nombre y asignado JS, por lo que la ventana emergente es JS
La tercera ventana emergente es la alerta en la parte inferior. Dado que el nombre global ha sido reasignado dentro del método, JavaScript aparece.
Luego agregue el siguiente enlace, superemos un método en el idioma, como sigue:
<scriptType = "text/javaScript"> varname = "javascript"; // global window.name = "javascript"; // global varLanguage = function () {alert (nombre); name = "javascript"; // global varname = "js"; // alerta local (nombre); var lovelanguage = function () {alerta (nombre); } (); } () alerta (nombre); </script>En este momento, la alerta en Lovelanguage aparece con JS porque encontrará el nombre en el nivel de idioma, que es el nombre en el idioma. . .
Lo anterior es todo el contenido del alcance de JavaScript y la cadena de alcance (imprescindible para los novatos) que el editor le trae. Espero que todos apoyen más a los pasos a casa.