hur använder man det? jag får det inte att fungerahar testat bara Enkelt uttryckt kan vi säga att <code>eval()</code> omvandlar en sträng till körbar-kod. Inte alls bra att använda QueryString utan att validera data. Gör det möjligt att skicka kod från klienten som exetueras på servern. Hur är de nu de säger i filmen: "Det är bara ett exempel, Helge!" :)eval()
eval(pres)
och
response.write(eval(pres))
men det verkar inte funka... nån som kan berätta hur det funkarSv: eval()
Om vi till exempel säger att du har ett object a som aggregerar några andra object b, c och d vilka innehåller ett värde som du vill komma åt.
Normalt hade du då kanske skrivit.
<code>
var value = a.b;
Response.Write(value);
// eller ännu bättre
Response.Write(a.b);
</code>
Låt oss nu säga att du inte vet vilket aggregat användaren vill skall skrivas ut... då blir det lite klurigare...
<code>
var value = a. + Request.QueryString("aggregate");
Response.Write(value);
// Detta går helt åt skogen eftersom du blandar ihop symboler och strängar på ett sätt
// som inte är tillåtet
</code>
Nu kommer <code> eval() </code> in i bilden...
<code>
var value = eval("a." + Request.QueryString("aggregate"));
Response.Write(value);
// Men se det funkar...
</code>
<code>eval()</code> tar sålunda textsträngen "a." + "b" (om det nu var b som vi skickade in med QueryString) och omvandlar dem till korrekt objekt... mycket fiffigt när man gör högdynamiska lösningar...
Hoppas det klarnade...Sv: eval()
Sv: eval()
... och förövrigt har du nog fel i just detta exempel! :)