javascript中parseInt()函数的定义和用法分析

函数可以解析一个字符串,并返回一个整数。

语法结构:

复制代码 代码如下:

parseInt(string, type)

参数列表:

参数   描述
 
string   必需。要被解析的字符串。
 
type   可选。表示要解析的数字的基数,通俗的说就是数字的进制,比如二进制、八进制或者十六进制。该值介于2 ~ 36之间。  

详细说明:

一.指定type参数:

指定type参数后,函数就会按照指定的type参数对字符串进行解析,例如:
1.parseInt("010",10),表示"010"是十进制,返回值就是10。
2.parseInt("010",2),表示"010"是二进制,返回值就是2。
3.parseInt("010",8),表示"010"是八进制,返回值是8。
4.parseInt("010",16),表示"010"是十六进制,返回值是16。
说明:返回值都是十进制,type说指定是第一个参数的进制,并且第二个参数值的返回是介于2-36之间,如果不在此区间,parseInt函数返回值为NaN。如果string参数中,并非都是数字,而是带有其他字符,则parseInt函数只返回第一个字符之前的数字。例如:
parseInt("123ab789",10)返回值是123,第一个字符a之后的全部省略。

二.不指定type参数:

当不指定type参数的时候,parseInt函数会自动判断是何种进制,在通常情况下是十进制,例如:

1.parseInt("23")返回值是23。
2.parseInt("23ab")返回值是23。

但是情况往往并非都是向上面那么简单,再来看个例子:

parseInt("0x12")返回值是18,并非按照返回第一个字符串之前的数字,这里就出现一种情况,如果字符串是以"0x"开头的就要注意了,因为这个时候"0x"后面的数字会被认为是十六进制,所以返回值是18。如果是以"0"开头,并且后面紧邻的不是字符,那么这个时候,在谷歌浏览器下会被以十进制解析,但是在IE浏览器下被以八进制解析。例如:
parseInt("0123")在谷歌浏览器下返回值是123,在IE浏览器下返回值是83。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgxxww.html