JavaScript alcance de ECMAScript

  • Alcance y el papel definiciones

      definición del alcance: las variables JavaScript almacenados en las variables y encontrar el conjunto de reglas.

      JavaScript generalmente siguen el ámbito léxico.

      Encuentra encuentran las variables siguen de adentro hacia afuera:

      Motor de las variables de ámbito de ejecución actual empezar a buscar, seguir mirando hacia arriba si usted no puede encontrar uno. Cuando llegaron al ámbito global más externa, ya sea para encontrar o no encontrar, el proceso de búsqueda se detendrá.

  • ámbito léxico

         En el ámbito léxico de la fase de definición. En el momento de escribir las variables de ámbito bloque de código y dónde escribir para decidir.

  •  producido alcance

          JavaScript no tiene noción de alcance masivo. Entonces, ¿se trata simplemente de un alcance mayor {..} es el área encerrada bloque es una unidad mínima.

 Simplemente podemos fijamos en el ámbito y en el período indicado o C # variables en el lenguaje Java en general, es el caso

     Ámbito de las variables:

    las variables con ámbito definido la posición de partida, el par de llaves esa variable donde el extremo;

Ciclo de Vida:

    A partir de la variable en vivo en la memoria de la ubicación se ha definido anteriormente;

    Variable llegan en su alcance cuando desapareció en la memoria;

 

Permítanme citar un ejemplo sencillo para bucle 

C # variable i se define para no los ciclos de acceso fuera

 

 

          JavaScript en el bucle externo para el acceso normal

 

 

 

   A continuación, el alcance se crea en JavaScript cuando se

  1.   ámbito global  

           Esto no necesita demasiada explicación, creo que todos entendemos

          2. Funciones

           javaScript cada crear una función burbuja va a crear un espacio para sí mismo. Todas las variables pertenecen a esta función se pueden utilizar y reutilizar en toda la función interna

  • alcance masivo 

      Se dice que no hay js alcance masivo, pero donde hay excepciones, hay varias situaciones js pueden proporcionar efecto masivo alcance

1: try / catch

cláusula catch creará un alcance masivo, que declaran las variables sólo son válidos dentro de la captura

tratar{

sin definir ();

} Catch (err) {

console.log (err); // acceso lata

}

 console.log (err); // aquí para visitar el menos, ReferenceError: err no encontrado

 

  2: Let

Vamos alcance variable puede ser obligado {...}, donde el alcance mayor

foo Var = true;

Si (foo) {

  bar = foo * 2 Let;

  Console.log (bar); // acceso normal

}

Console.log (bar); // ReferenceError

l deja que lleva a cabo utilizando comunicado masiva alcance no será mejorada.

{

  Console.log (bar); // ReferenceError

 Deje bar = 2;

}

              3: Const

Const también crea alcance masivo, pero se fija su valor, entonces cualquier intento de modificar la operación provocará un error.

  • ámbito de actualización

Las declaraciones de funciones y declaraciones de variables aumentarán. La asignación u otra lógica operativa permanecerán en su lugar. Cuando las declaraciones de función y declaraciones de variables ocurren simultáneamente, la función será levantado primero, y entonces la variable.

                        No se levantó expresión de función

alcance de elevación se eleva a la parte superior del bloque en el que el ámbito de aplicación, es decir, donde {...} superior

<Script type = "text / javascript">

           foo (); // no visita

        // var a = true;

            {

               foo (); // obtener acceso a

               función foo () {

                   console.log ( "a");

               }

          

           }

       </ Script>

  

    

 

  • ámbito de cierre
  • Inmediatamente ejecutar la función
  • ámbito léxico Engañar

 

Supongo que te gusta

Origin www.cnblogs.com/cuner/p/12453565.html
Recomendado
Clasificación