Sie können mit parseInt() einen numerischen Wert aus einer Zeichenfolge abrufen, der ein weiteres Basisargument akzeptiert, das häufig weggelassen wird, aber nicht weggelassen werden sollte. Es kann zu Problemen kommen, wenn die Zeichenfolge mit „0“ beginnt. Wenn beispielsweise in ECMAScript 3 teilweise das Formularfeld eingegeben wird, werden Zeichenfolgen, die mit „0“ beginnen, als Oktalwerte behandelt. Dies wurde jedoch in ECMAScript geändert 5. Um Widersprüche und unerwartete Ergebnisse zu vermeiden, geben Sie immer Basisparameter an.
var month = "05", year = "09"; month = parseInt(month, 10); year = parseInt(year, 10); alert(month); alert(year);
Wenn Sie in diesem Beispiel den Basisparameter wie parseInt(year) ignorieren, ist der zurückgegebene Wert 0, da „09“ als Oktalwert behandelt wird (z. B. beim Ausführen von parseInt( year, 8 )) und 09 ist keine gültige Zahl im Oktalsystem.
Ersetzungsmethoden dienen dazu, Zeichenfolgen in Zahlen umzuwandeln, einschließlich:
+"08" // 结果是 8 Number("08") // 8
Diese sind normalerweise schneller als parseInt(), da die Methode parseInt(), wie der Name schon sagt, nicht einfach ist Parsen und Konvertieren. Wenn Sie jedoch beispielsweise „08 hallo“ eingeben möchten, gibt parseInt() eine Zahl zurück und landet andernfalls bei NaN.