5分钟理解parseInt

1,781 阅读1分钟

parseInt(string, radix)

参数:

1 String为必需参数,即需要被解析的字符串
2 Radix为可选参数,是解析基数,其值为0或在2-36之间。如果不传radix或者radix为0,则默认以10为基数;如果string参数以'0x'或者'0X'开头,
则以16为基数;如果radix小于2并且不等于0或者radix大于36,则parseInt()返回NaN

举几个栗子:

1 String都是字母,返回NaN
    parseInt("abc", 10) 

2 String都是数字,返回整数
    parseInt('10') = 10, radix默认为10,以10为基数解析,
    parseInt('8', 0) = 8, radix默认为10,以10为基数解析,
    parseInt('3', 2) = NaN, radix为2,2进制的取值范围为0-1,3不在该范围内
    parseInt('2', 3) = 2, radix为3,3进制取值范围为0-2
    parseInt('15', 6) = 11, radix为6
    parseInt('26', 3) = 2, 3进制范围为0-2,6超出改范围不被解析,即只解析字符串'2'
    parseInt('0x10') = 16, string以0x开头,以16为基数进行解析
    
3 字母和数字都存在
    以数字开头,则取截止到第一个字母出现之前的所有数字进行转换: parseInt("12x2bc", 10) = 12
    以字母开头,直接返回NaN:parseInt("df2bc", 10) = NaN

如果有问题或者描述不清的朋友们,请留言一起探讨,如果本文有给你们帮助,请留个star。