Cadenas y la función de evaluación de JavaScript

INTRODUCCIÓN
Esta es la tercera última parte de la serie, que domina la función de evaluación de JavaScript. En esta parte de la serie, vemos cómo una cadena se puede usar como argumento para la función EVAL.

Nota: Si no puede ver el código o si cree que falta algo (enlace roto), contácteme en Forchatrans @yahoo.com. Es decir, contácteme para obtener el más mínimo problema que tiene sobre lo que se ha escrito.

String literal en el argumento
¿Se puede usar una cadena literal como argumento para el eval (eval ( ) función, en el sentido ordinario? La respuesta es No. La ejecución del siguiente script se detiene en la línea de la función eval:

myvar = eval (“one”);
alert (myvar);

Si hay un error en una línea de código, JavaScript detendría la compilación (o ejecución) en esa línea. La primera declaración del código anterior es considerado por JavaScript como erróneo.

variable de cadena en el argumento
Una variable, cuyo valor es una cadena literal no se puede usar en el argumento de la función eval () en el sentido ordinario. El siguiente script no funciona porque la compilación termina en la línea de la función eval:

strvar = “one”
myvar = eval (strvar);
alerta (myvar);

Expresión en citas
Probemos algo aquí. Deje que el argumento de la función eval () sea una cadena cuyo contenido es una variable de cadena. El siguiente script funciona sin ningún problema.

strvar = “one”;
myVar = eval (“strvar”);
alert (myvar);

La primera línea del script declara una variable de cadena. En la segunda línea, para el argumento de la función eval (), es la variable la que está en citas; No es la cuerda literal. Entonces, para el argumento Eval, tiene una cadena cuyo contenido es una variable y no una cadena literal. La función eval devuelve el valor de la variable. La última declaración muestra la cadena literal.

READ  Haga que su sitio web sea más interactivo con un cuestionario de JavaScript

Aquí, hemos visto que poner una variable, en citas, como argumento a la función eval no crea un error. Y, ese es un secreto.

La verdad es que poner una expresión en citas, como argumento a la función eval (), no causa un error. De hecho, cuando hace esto, la función eval () evalúa lo que está en las citas y devuelve lo que debe devolver. Si hay algo que devolver, lo devuelve. Si no hay nada que devuelva, devuelve la expresión en forma ejecutable. Así es como se comporta la función eval. La expresión devuelta permanece en la posición de la función eval. No se pueden ver los caracteres de la expresión devuelta, pero están allí y se puede acceder a la expresión mediante declaraciones debajo de ella.

Veamos ejemplos que son más involucrados.

< b> Expresiones múltiples
Considere las siguientes expresiones:

Alert (“One”);
alerta (“dos”);
alerta (“tres”);

Suponga que estas son tres declaraciones consecutivas en un script. Cuando se ejecuta el script, la primera declaración de alerta mostrará “uno”; El segundo mostrará “dos” y el tercero mostrará “tres”.

Para que tenga estas tres declaraciones (o declaraciones múltiples) como argumento de la función eval (), debe respetarlo Las siguientes reglas:

– encierre las tres declaraciones en citas.
– Escapar todos los personajes especiales.
– Tener semicolones entre declaraciones y hacer que escapen.

La siguiente línea ilustra esto:

eval (“alerta (” one “”)

alerta (“” dos “”)