Ein Fehler erschien heute im Programm. Ich habe es lange debuggen und schließlich herausgefunden, dass es dieses Problem war.
Ein Experiment wurde durchgeführt:
ALERT (ParseInt ("01")), wenn der Wert in diesem Wert 01 ====> 07 ist, ist es normal, aber in "08" wird "09" 0 zurückgeben.
(Dieses Phänomen tritt in Browsern des IKEA -Kernels wie 360 Browser auf. Dieser Fehler tritt auf) (Google, Firefox wird nicht betroffen)
.
Ich habe die Gründe für dieses Phänomen nach dem Lesen der Informationen erfahren:
Die Erklärung des großen Gottes:
01--07 hat natürlich kein Problem, aber 09 und 08 sind alle nicht qualifizierten Oktalformen, sodass sie als 0 verarbeitet wurden. Um dieses Problem zu lösen, können Sie einen anderen Parameter der ParseInt-Funktion verwenden, um ParseinT zu sagen, um es in Dezimal zu verarbeiten.
ParseInt ("08", 10) oder ParseInt ("09", 10)
ParseInt (String, Radix) soll String in Ganzzahlen umwandeln. Der zweite Parameter besteht darin, das Format der String einzustellen. Am häufigsten verwendeten werden 2, 8, 10 und 16 verwendet, was die Anzahl der Zeichenfolge in der Binärzahl angibt.
Der Radixbereich kann wünschenswert sein, 2 ~ 36. Wenn es nicht in diesem Bereich liegt, wird die NAN zurückgegeben.
Wenn der Wert von Radix auf 0 eingestellt ist oder nicht, wird das Format der String automatisch erkannt:
Beginnend mit "0x" behandelt ParseInt () den Rest der String mit Ausnahme 0x als Hexadezimalzahl.
Beginnend mit "0" behandelt ParseInt () andere Zeichen als 0 als Oktal- oder Hexadezimalzahlen.
ParseinT () beginnend mit den Nummern 1 bis 9 wird es als Dezimalzahl behandelt.
Das obige ist das relevante Wissen über die Gründe, warum ParseInt ("08") und "09" in JavaScript, die Ihnen vorgestellt wurden, zurückgeben. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!