Umgehen des verwirrenden ParsInt-Oktalverhaltens von JavaScript
Die parseInt-Funktion von JavaScript verhält sich gelegentlich unerwartet, insbesondere beim Umgang mit führenden Nullen. Insbesondere werden Zahlen mit führenden Nullen fälschlicherweise als oktale Ganzzahlen interpretiert, was zu fehlerhaften Ausgaben führt. Dieses Problem ergibt sich aus der Annahme der parseInt-Funktion, dass eine führende Null eine Oktalzahl bezeichnet. Da Oktalzahlen 8 und 9 ausschließen, werden Werte, die mit diesen Ziffern beginnen, fälschlicherweise als Nullen interpretiert.
Den oktalen Haken überwinden
Glücklicherweise gibt es mehrere Strategien, um diese Besonderheit zu umgehen Verhalten:
1. Explizite Basisspezifikation:
Durch die explizite Definition der Basis oder Basis können wir sicherstellen, dass parseInt die Eingabe als Dezimalzahl interpretiert. Zum Beispiel:
parseInt('08', 10); // 8
2. Zahlenmethode:
Eine weitere Option ist die Verwendung der Zahlenmethode, die die Eingabe automatisch als Dezimalzahl interpretiert:
Number('08'); // 8
Hinweis:
Der ES5-Standard führte eine Modifikation ein, die dieses rätselhafte Oktalverhalten beseitigt. Diese Änderung ist jedoch browserabhängig. Weitere Informationen finden Sie in der Mozilla-Dokumentation.
Das obige ist der detaillierte Inhalt vonWarum liefert „parseInt' manchmal unerwartete Ergebnisse mit führenden Nullen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!