Siechfred: Rechnen mit nicht definierten Variablen

Beitrag lesen

Tag Juan.

versuch mal am Anfang deiner Funktion gesamt erstmal zu initialisieren mit gesamt = 0;.

Ja, genauso ist es. Es reicht übrigens auch Folgendes:

var gesamt = new Number();

Dadurch du es vorher nicht initialisierst, weiss JavaScript ja nicht, was vorher drin stand und geht vermutlich erstmal von einem String aus.

Nicht ganz. Der Typ der Variable "gesamt" ist schon "Number", allerdings verhält sich Javascript völlig standardkonform. Ein Ausdruck der Art Variable += anzuhaengender_Inhalt wird dergestalt ausgewertet, dass zunächst GetValue für Variable und anzuhängenden Inhalt ausgeführt wird, danach werden die Werte addiert (siehe Compound Assignment). Da "gesamt" beim ersten Aufruf nicht definiert ist, ergibt GetValue "NaN". Tja, und wenn eine Seite NaN ist, ergibt eine Addition auch immer NaN (siehe Applying the Additive Operators to Numbers). Dass die Variable vom Typ "Number" ist, ist ebenfalls völlig korrekt, siehe NaN.

Siechfred