L'argument de la fonction eval (), ne sera pas accepter même la variable qui contient une chaîne, de la façon ordinaire. Littéraux affectés à des variables considérer les de la création d'objet suivant, avec la mention littérale: myObject = {property1: "un élément", myArray: ["article deux" "élément one", "point trois"], myFn: nouvelle fonction (" x "," y "," var z = x + y; retourner z * z; ")} Dans la partie précédente de la série, mais nous mettons le littéral d'objet comme argument de la fonction eval ().
Ici, nous allons voir si nous pouvons mettre la déclaration complète (qui comprend l'opérateur d'affectation et des arguments) comme argument dans la fonction eval (). Wow, le script suivant fonctionne sans aucun problème: la fenêtre d'alerte affiche 25. Le littéral d'objet, l'opérateur d'affectation et la variable forment l'argument de la fonction eval () de la façon ordinaire. Le code fonctionne. La fonction eval () convertit la déclaration dans un code exécutable et retourner le code exécutable à la position, où la fonction eval () est.
Vous ne serez pas en mesure de voir la frappe de la déclaration de retour, mais elle est là et peut être consulté par les déclarations ci-dessous il, dans le script. Le code suivant qui traite avec le constructeur de fonction fonctionne également: Ce script a une variable, un opérateur d'affectation et un opérateur de fonction, de la façon ordinaire comme argument de la fonction eval (). À ce stade, nous voyons que les littéraux et les états fonctionnent comme argument de la fonction eval (), à la manière ordinaire; il ya exception à cette avec des cordes.
Ni les littéraux de chaîne ni leurs variables travaillent dans l'argument de la fonction eval () de la façon ordinaire. Eh bien, nous devons vraiment analyser cordes, dans la prochaine partie de la série. L'opérateur point et de l'objet L'instruction suivante crée un objet: myObject = new Object (); La déclaration suivante ajoute une propriété à l