你好 Twilo,
Warum ergibt parseInt("08") nicht 8?
javascript:alert(parseInt('07')); --> 7
javascript:alert(parseInt('08')); --> 0parseInt() interpretiert die Zahl wegen der fuehrenden 0 als Oktal-Zahl.
Und das Oktal-System hat bekannterweise nur 8 Ziffern (0-7) -- die 0 ist
also ein Fehlerwert.wenn ich das in meiner Adresszeile von Opera 8/b2 einfüge, kommt 8 bei
raus.
Ja, dummerweise ist das eine recht bloede Freiheit, die der Standard da
bereit haelt. Im Standard steht eigentlich, dass nur 0x oder 0X eine
spezielle Bedeutung hat: es leitet Zahlen im Hex-Format ein. Aber etwas
spaeter in einer Note heisst es, dass die Implementation die Freiheit hat,
eine Zahl mit fuehrender 0 und ohne folgendes X oder x als Oktal-Zahl zu
bewerten, wenn die Basis nicht angegeben wurde. Das fuehrt dann leider bei
unterschiedlichen Browsern zu unterschiedlichen Ergebnissen.
再见,
CK
Der Verstand ist der Hausherr, der Koerper sein Gast.