*   >> läser Utbildning artiklar >> science >> programming

Strängar och Javascript Eval Function

eval () enligt nedan, skulle vi ha en användbar (körbar) JavaScript-objekt (detta är det andra steget): eval (Mystring); Eval () returnerar en körbar JavaScript objektlitteral. Det är normal praxis att tilldela objektet bokstav i webbsidan, till en global variabel. Så det är normalt att ha ett uttalande som: myGVar = eval (Mystring); Denna global variabel, som nu är ett föremål kan komma åt från var som helst i skriptet.

Detta är i själva verket vad du skulle ha: myGVar = {property1: "ett objekt", myArray = ["punkt ett", "punkt två", "punkt tre"], myFn: ny funktion ("x", "y", "var z = x + y; tillbaka z * z;")} Om du vill att värdet för objektegenskap, property1, skriver du: myGVar.property1; Om du vill att objektet gruppvärde vid index 1, skriver du: myGVar.myArray [1]; Om du vill köra metoden i objektet, skulle du skriva något i stil med myGVar.myFn (2,3); där 2, 3 är argument för myFn metoden (funktion).

Jag kommer inte att göra något mer förklaring än vad jag har gjort hittills om funktionen eval () och JSON-filen. Specifikationen Revisited Detta är vad JavaScript specifikationen säger om funktionen eval: Argumentet av funktionen eval är en sträng. Om strängen representerar ett uttryck utvärderar eval uttrycket. Om argumentet representerar en eller flera JavaScript uttalanden utför eval uttalanden. Ring inte eval för att utvärdera ett aritmetiskt uttryck; JavaScript utvärderar aritmetiska uttryck automatiskt.

Om du konstruerar ett aritmetiskt uttryck som en sträng, kan du använda eval för att utvärdera den vid ett senare tillfälle. Om argument eval är inte en sträng, returnerar eval argumentet oförändrat. Låt oss titta på meningar. Den första meningen är "Argumentet av funktionen eval är en sträng." Nu har vi gjort så många saker med funktionen eval () utan att använda strängen som en oberoende variabel. (eval och eval () är samma sak i denna serie). I själva verket har vi inte lyckats att använda sträng som en oberoende argument: Vi har övervägt literaler; sträng har inte fungerat som bokstavlig.

Vi har övervägt variabler, vars värden är stränglitteraler; Detta har inte fungerat. Sådana variabler fungerar inte inne argumentet. Låt oss bara ha tålamod och vi får se vad detta första meningen egentligen i nästa del i serien. Den andra meningen "Om strängen representerar ett uttryck utvärderar eval uttrycket". Denna mening är relaterad till den första, Det ger fler ledtrådar till vad den första är. Den tredje meningen är, "Om argumentet representerar en e

Page   <<  [1] [2] [3] [4] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.