Kess: zur Info: (1* 100) + 22 = 10022

Beitrag lesen

Diese interessante Rechnung präsentierte mir heute der IE5. Mit anderen Browsern habe ich es noch nicht getestet.

Beispiel:
a = '1'
b = '22'

Man beachte, daß beide Variablen Strings enthalten.

Für c = (a*100) + b errechnet der Browser entsprechend zunächst die Zahl 100 und will sie dann mit dem String '22' verknüpfen. Somit verwandelt er die Zahl 100 wieder in einen String '100'. Das Ergebnis ist dann ganz logisch '10022'.
Für den Programmablauf ist das allerdings tödlich. Erst c = (a*100) + (b*1) liefert 122 zurück.

Ist diese Befehlsabarbeitung irgendwo beschrieben ? Oder bin nur ich zu naiv davon ausgegangen, daß das Konstrukt eindeutig eine Berechnung und keine Verknüpfung darstellt?

Gruß
Kess