js en la comprensión del alcance y la cadena de ámbito

El alcance y la cadena de ámbito

alcance

  • Alcance es el entorno de ejecución de código entorno de ejecución, el entorno de ejecución global es el ámbito global, la función es el ámbito privado, son memoria de pila
  • entorno de ejecución define variables de datos u otras funciones tengan acceso a determinar su propio comportamiento. Cada objeto de variable de entorno de ejecución ha asociado una, todas las variables y funciones definidas en el medio ambiente se almacenan en este objeto. Mientras que nuestro código no puede acceder al objeto, pero el analizador va a usar en el fondo durante el procesamiento de los datos
  • entorno de ejecución global es la más periférica de un entorno de ejecución. Dependiendo de la implementación de ECMAScript en el entorno de acogida, el entorno de ejecución objeto no representa el mismo
  • En un navegador Web, el entorno de ejecución global está considerado como el objeto de la ventana, por lo que todas las variables y funciones globales se crean como las propiedades y métodos del objeto ventana
  • En el entorno NODO, entorno de ejecución global es un objetivo mundial
  • Un entorno de ejecución después de que se complete todo el código, el medio ambiente se destruye, excepto donde todas las definiciones de variables y funciones también serán destruidos (cuando el entorno de ejecución mundial hasta que se cierra la aplicación, tales como el cierre de la página del navegador o en la web, será destrucción)
  • Cada función tiene su propio entorno de ejecución. Cuando la corriente entra en la realización de una función, la función se introduce en el entorno ambiental de una pila. Y después se ejecuta la función, la pila se extrae el medio ambiente, de devolver el control al entorno de ejecución antes. ECMAScript flujo de la ejecución del programa controlado con precisión por un mecanismo conveniente para este
  1. El alcance es de pila abierta la ejecución de código de memoria
  2. ámbito privado ----> ejecuta la función formará un ámbito privado
  3. ámbito global ----> para abrir una página formará un alcance global
  4. Las variables privadas ----> formado en las variables privadas dentro del alcance (por declaración var; parámetro)
  5. ----> variable en el ámbito mundial forman las variables globales (var a = 12 o no declarada en una función, asignación directa variable)

La cadena de ámbito

Cuando el código se ejecuta en un entorno, se crea un objeto variable de la cadena alcance (alcance formación de la cadena)

  • La parte frontal de la cadena de ámbito, el medio ambiente código objeto variable donde se ejecuta siempre la corriente
  • Siguiente objeto en la cadena alcance del ambiente externo, y los siguientes objetos variables del ambiente exterior a la siguiente, hasta que el entorno de ejecución mundial
  • variable de entorno de ejecución global objeto es siempre el último objeto en la cadena de ámbito

ambiente interno puede acceder a todo el entorno externo a través de la cadena de ámbito, pero no puede acceder al entorno externo, medio interno de las variables y funciones

var n = 10;
function outer(){
  function inner(){
    function center(){
      console.log(n);
    }
    center();
  }
  inner();
  var n = 15;
}
outer(); //=> undefined

Cuando dentro de la función, es necesario tener acceso a una variable, la función en sí será la primera visita del objeto variable, si existe esta variable, si no, se va a seguir investigando el alcance a lo largo de la cadena hasta el ámbito global. Si se utiliza la variable para encontrar el valor de la variable objeto en un objeto variable

Debido a localizar las variables a lo largo de la cadena de ámbito para lograr, por lo que también se conoce como cadena de ámbito variable para encontrar el mecanismo de
este mecanismo también explica las variables locales que las variables globales más rápido, debido a que el centro del proceso de búsqueda más corto. Pero el motor de JavaScript hace un buen trabajo optimizando el identificador de la consulta, por lo que esta diferencia es insignificante

Publicado 21 artículos originales · ganado elogios 0 · Vistas 279

Supongo que te gusta

Origin blog.csdn.net/my466879168/article/details/104849459
Recomendado
Clasificación