使用parseInt()你可以從字串中取得數值,該方法接受另一個基數參數,這經常省略,但不應該。當字串以」0″開頭的時候就有可能會出問題,例如,部分時間進入表單域,在ECMAScript 3中,開頭為」0″的字串被當做8進位處理了,但這已在ECMAScript 5中改變了。為了避免矛盾和意外的結果,總是指定基數參數。
var month = "05", year = "09"; month = parseInt(month, 10); year = parseInt(year, 10); alert(month); alert(year);
此例中,如果你忽略了基數參數,如parseInt(year),返回的值將是0,因為「09」被當做8進位(好比執行parseInt( year, 8 )),而09在8進制中不是個有效數字。
替換方法是將字串轉換成數字,包括:
+"08" // 结果是 8 Number("08") // 8
這些通常快於parseInt(),因為parseInt()方法,顧名思意,不是簡單地解析與轉換。但是,如果你想輸入例如“08 hello”,parseInt()將返回數字,而其它以NaN告終。