parseInt() 函数可解析一个字符串,并返回一个整数
语法
parseInt(string, radix)
| 参数 | 描述 |
|---|---|
| string | 必需。要被解析的字符串。 |
| radix | 可选。表示要解析的数字的基数。该值介于 2 ~ 36 之间。 如果省略该参数或其值为 0,则数字将以 10 为基础来解析。如果它以 “0x” 或 “0X” 开头,将以 16 为基数。 如果该参数小于 2 或者大于 36,则 parseInt() 将返回 NaN。 |
注:当参数 radix 的值为 0,或没有设置该参数时,parseInt() 会根据 string 来判断数字的基数:如果 string 以 "0x" 开头,parseInt() 会把 string 的其余部分解析为十六进制的整数。如果 string 以 0 开头,那么 ECMAScript v3 允许 parseInt() 的一个实现把其后的字符解析为八进制或十进制的数字。如果 string 以 1 ~ 9 的数字开头,parseInt() 将把它解析为十进制的整数。
实例
console.log(parseInt("20"))
//20console.log(parseInt("0x12"))
//18
16进制: 1*16 + 2 = 18console.log(parseInt("29",10))
//29
10进制 2*10 + 9 = 29console.log(parseInt("19",37))
// NaN
console.log(parseInt("19",1))
// NaN
不再2-36范围console.log([010,"10","10","10"].map(parseInt))
// [8, NaN, 2, 3]等同于
var arr1 = [010,"10","10","10"];
arr1.map(function(item,index,arr1){
return parseInt(item,index)
})
//第1次调用
console.log(parseInt(010,0))//未定:返回 10 或 8
//第2次调用
console.log(parseInt(10,1)) //NaN
//第3次调用
console.log(parseInt(10,2)) // 2
//第4次调用
console.log(parseInt(10,3)) //3console.log(parseInt("321x123"))
//321