Çağrılar parseInther zaman ikinci bağımsız değişkende bir temel belirtmelidir:
parseInt("08", 10);
JavaScript'in önceki sürümleri, 0sekizlik olarak başlayan dizeleri (taban belirtilmediğinde) ele alır ve ne geçerli sekizlik sayılar ne 08de değildir 09.
Mozilla belgelerinden :
Radix tanımsız veya 0 ise, JavaScript aşağıdakileri varsayar:
- Girdi dizesi "0x" veya "0X" ile başlıyorsa, taban 16'dır (onaltılık).
- Giriş dizesi "0" ile başlıyorsa, radix sekizdir (sekizlik). Bu özellik standart değildir ve bazı uygulamalar bunu kasıtlı olarak desteklemez (bunun yerine taban 10'u kullanır). Bu nedenle , parseInt kullanırken her zaman bir radix belirtin .
- Girdi dizesi başka herhangi bir değerle başlıyorsa, radix 10'dur (ondalık).
İlk karakter sayıya dönüştürülemezse, parseInt NaN değerini döndürür.
Ve ECMAScript 3 standardından:
Radix 0 veya tanımsız olduğunda ve dizenin numarası bir 0
rakamıyla başladığında, ardından bir x veya X gelmediğinde , uygulama, kendi takdirine bağlı olarak, sayıyı sekizlik veya ondalık olarak yorumlayabilir. Uygulamalar, bu durumda sayıları ondalık sayı olarak yorumlamaya teşvik edilir.
JavaScript'in en son sürümü ( ECMAScript 5 ) bu davranışı terk eder , ancak eski tarayıcıları tatmin etmek için yine de tabanı belirtmelisiniz .