javascript中parseInt()函数的定义和用法分析
投稿:shichen2014
本文实例讲述了javascript中parseInt()函数的定义和用法。分享给大家供大家参考。具体分析如下:
此函数可以解析一个字符串,并返回一个整数。
语法结构:
参数列表:
参数 | 描述 |
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。
希望本文所述对大家的javascript程序设计有所帮助。