El argumento de la función eval (), no aceptará incluso la variable que contiene una cadena, en la forma ordinaria. Los literales asignados a variables considerar lo siguiente creación de objetos, con la notación literal: myObject = {propiedad1: "punto", myArray: ["punto uno", "elemento de dos", "punto tres"], myFn: nueva función (" x "," y "," z var = x + y; volver z * z; ")} En la parte anterior de la serie ponemos pero el objeto literal como argumento de la función eval ().
Aquí, vamos a ver si podemos poner la declaración completa (que incluye el operador de asignación y el argumento) como argumento a la función eval (). Wow, el siguiente script funciona sin ningún problema: Aparece el cuadro de alerta 25. El objeto literal, el operador de asignación y la variable forman el argumento de la función eval () en la forma ordinaria. El código funciona. La función eval () convierte la declaración en un código ejecutable y devuelve el código ejecutable en la posición, donde la función eval () es.
Usted no será capaz de ver la tipificación de la declaración de regresar, pero está ahí y se puede acceder por las declaraciones siguientes que, en el guión. El siguiente código que está tratando con el constructor función también funciona: Este guión tiene una variable, un operador de asignación y un operador de la función, en la forma ordinaria como argumento de la función eval (). En este punto vemos que literales y declaraciones trabajan como argumento de la función eval (), en la forma ordinaria; existe una excepción a esta con cuerdas.
Ni los literales de cadena ni sus variables trabajan en el argumento de la función eval () en la forma ordinaria. Bueno, tenemos que analizar realmente cuerdas, en la siguiente parte de la serie. El operador de punto y de objetos La siguiente sentencia crea un objeto: myObject = new Object (); La siguiente declaración agrega una propiedad al objeto creado y asigna un literal entero a ella: myObject.prop1 = 15; El si