在JavaScript中,parseInt函數常常被用于將字符串轉換為數字。在HTML中,表單元素常常返回字符串數據,此時我們就需要使用parseInt函數將其轉換為數字。下面是一個例子:
var str = "123"; var num = parseInt(str); console.log(num); //輸出:123
我們發現,parseInt函數能夠將字符串“123”轉換為數字123。
但是,如果我們嘗試將一些非數字字符串轉換為數字時,parseInt函數不一定會輸出我們期望的結果。例如:
var str_1 = "123px"; var num_1 = parseInt(str_1); console.log(num_1); //輸出:123 var str_2 = "abc123"; var num_2 = parseInt(str_2); console.log(num_2); //輸出:NaN
我們發現,當傳入含有數字和非數字字符的字符串時,parseInt函數會直接忽略非數字字符,只輸出數字。例如,當我們傳入字符串“123px”時,parseInt函數只輸出123。
如果字符串中不含數字字符,則parseInt函數會輸出NaN,即非數字。
需要注意的是,在使用parseInt函數時,還可以額外傳入第二個參數。該參數用于指定數字的進制。例如,我們將數字“10”以十進制、二進制、八進制、十六進制分別表示后,傳入parseInt函數:
var num_3 = parseInt("10", 10); //parseInt("10", 10)等同于parseInt("10") var num_4 = parseInt("1010", 2); var num_5 = parseInt("12", 8); var num_6 = parseInt("A", 16); console.log(num_3); //輸出:10 console.log(num_4); //輸出:10 console.log(num_5); //輸出:10 console.log(num_6); //輸出:10
我們發現,當我們傳入一個數字字符串和該數字的進制后,parseInt函數會輸出該數字字符串所代表的十進制數。例如,當我們將數字“1010”以二進制表示并傳入parseInt函數后,輸出的結果為十進制數字“10”。
需要注意的是,當進制超出數字體系的范圍時,parseInt函數會輸出NaN。例如,當我們傳入數字字符串“10”和進制“37”時,parseInt函數會輸出NaN。
總之,在JavaScript中,parseInt函數是將字符串轉換為數字的常用方法。除了忽略字符串開頭非數字字符、只輸出數字以外,它還能額外指定數字的進制。但要注意,當字符串中不含數字字符或指定進制超出數字體系范圍時,parseInt函數會輸出NaN。