Mastering JavaScript eval Funktion - Del III Inledning Detta är den tredje sista delen i serien, Mastering JavaScript eval funktion. I denna del av serien, ser vi hur en sträng kan användas som argument för funktionen eval. Stränglitteral i Argument Kan en stränglitteral användas som argument till funktionen eval (), i vanlig mening? Svaret är Nej. Utförande av följande skript stannar vid raden av funktionen eval: Om det finns ett fel i en kodrad skulle JavaScript sluta kompilering (eller utförande) på den linjen.
Det första meddelandet om ovanstående kod anses av JavaScript som felaktiga. String Variabel i Argument En variabel, vars värde är en stränglitteral kan inte användas i argumentet för funktionen eval () i vanlig mening. Följande skript fungerar inte eftersom sammanställning slutar vid raden av funktionen eval: Expression i Citat Låt oss prova något här. Låt argument funktionen eval () vara en sträng vars innehåll en strängvariabel. Följande skript fungerar utan problem. Den första raden i skriptet deklarerar en strängvariabel.
I den andra raden, för argumentet av funktionen eval (), är det den variabel som är inom citationstecken; det är inte stränglitteral. Så, för eval argumentet, har du en sträng vars innehåll är en variabel och inte en stränglitteral. Eval returnerar värdet på variabeln. Det sista uttalandet visar stränglitteral. Här har vi sett att sätta en variabel, inom citationstecken, som argument till funktionen eval inte skapar ett fel. Och det är en hemlighet. Sanningen är, att sätta ett uttryck inom citationstecken, som argument till funktionen eval (), orsakar inte ett fel.
Faktum är att när du gör detta, utvärderar funktionen eval () vad som finns i citat och återgår allt har att återlämnas. Om ett uttryck är inom citationstecken funktionen eval utvärderar uttrycket. Om det finns något att återvända, återgår den det. Om det inte finns något att lämna tillbaka den returnerar uttryck i körbar form. Det är hur funktionen eval fungerar. Uttrycket return förblir vid läget för funktionen eval. Tecknen i uttrycket returneras kan inte ses, men de finns och uttrycket kan nås genom uttalanden under den. Låt oss titta på exempel som mer berör.
Flera uttryck Tänk på följande uttryck: alert ("en"); alert ("två"); alert ("tre"); Antag att dessa är tre på varandra följande uttalanden i ett skript. När skriptet körs, kommer den första registreringen uttalande visar "ett"; den andra kommer att visa "två" och den tredje kommer att visa "tre".