El dominio de la función eval Javascript - Parte II Introducción En la última parte de la serie, vimos cómo se utilizan los literales de JavaScript y el constructor de la función como argumentos para la eval nivel superior JavaScript () función. Llegamos a la conclusión, de que con la excepción de la cadena literal, la función eval () tendrá un literal JavaScript como argumento y devuelve el código ejecutable del literal. El código ejecutable devuelto no se ve en la secuencia de comandos cuando se muestra el código de la página web.
En esta parte de la serie, nos fijamos en el efecto de aprobar una declaración JavaScript como argumento a la función eval (). Se puede considerar una declaración como un pequeño fragmento de código independiente, por lo general en una línea. Declaración de variables Considere la siguiente declaración de variable: myVar = "uno"; El siguiente código no se puede ejecutar: La primera línea tiene la declaración de variables como argumento. La siguiente línea, que nunca se ejecuta, intenta mostrar la variable. JavaScript interpreta la primera línea como uno con el error.
Siempre que la ejecución de JavaScript se encuentra con un error, se detiene la ejecución en la línea que tiene el error. Consideremos ahora la siguiente declaración: myVar = 12 Las siguientes funciones de código sin ningún problema: La declaración de variables (declaración) es el argumento de la función eval (). La primera línea evalúa la declaración y devuelve la instrucción de declaración. La sentencia return no puede ser visto cuando se muestra el código de la página web, pero cuando sale en la posición de la función eval (). Así que puede ser el acceso de las declaraciones debajo de ella.
La segunda línea en el guión anterior, muestra 12 en el cuadro de alerta. Nota: no hay punto y coma en el argumento de eval () justo después del número 12 ante los brockets cierre de la función eval (). Considere la siguiente declaración: yourVar = 12; La siguiente secuencia de comandos se ejecuta sin ningún problema. La primera línea del guión declara la variable, yourVar y tiene el literal entero 12 asignado. La segunda declaración tiene una función eval (). El argumento de esta función añade el número 3 a la variable, yourVar y asigna el resultado a la nueva variable, myVar.
Por lo tanto, el argumento tiene una declaración, con una variable que tiene un valor previamente asignado. Lo que quiero destacar aquí, es que estamos usando una variable declarada con anteriorid