Der Martin: Formulare

Beitrag lesen

Hallo,

var val=eval(count*price);
Wozu eval()?

Sag ich doch. Okay, du warst 'ne Minute schneller.

Evtl. ist das auch der Fehler, da eval() versucht das Ergebnis der Rechnung (eine Zahl) auszuführen, bin mir nicht sicher ob das so sinnvoll ist...

Naja, eval() versucht sein Argument zunächst in einen String umzuwandeln (falls es nicht bereits einer ist) und dann den Ausdruck auszuwerten, der mit diesem String formuliert wird. Wenn dieser Ausdruck nur ein Zahlenwert ist, schadet das nicht. Immerhin ist ja auch der semantisch sinnlose Code

for (var i=0; i<100; i++)  
 { i;  
 }

syntaktisch korrekt: In einer Schleife wird 100mal der Ausdruck i ausgewertet. Sinnlos, aber formal in Ordnung.

Und so sehe ich auch den Einsatz von eval() hier: Sinnlos, aber unschädlich.

So long,
 Martin

--
Schon gewusst, dass Aftershave trotz des Namens eigentlich eher fürs Gesicht gedacht ist?