parseInt用于将字符串或者数字转化为整数,字符串转化为整数的时候是一个一个字符的转化,如果遇到不能转化的字符,就不再继续下去,返回已经转化好的部分。如果字符串的第一个字符不能转化为数字(后面跟着数字的正负号除外),返回NaN。
例如:
parseInt('1.23') // 1 parseInt(' 1.8') // 1
parseInt('8a') // 8 parseInt('12**') // 12
parseInt('abc') // NaN parseInt('.4') // NaN
parseInt('') // NaN parseInt('+') // NaN
parseInt('+5') // 5
parseFloat是将字符串转化为浮点数,在转化字符串的过程跟parseInt的过程是一样,
例子:
parseFloat('3.14') // 3.14 parseFloat('3.14aaaaa') // 3.14
parseFloat([]) // NaN parseFloat('') // NaN
不同点:parseInt和parseFloat是按照字符一个个的转化,不存在显隐转化,但是Number可以进行显隐转化,并且不是一个个字符转化而是整体转化,这样子如果是字符串中有不能转化为数字的话就会返回NaN。
例:Number(true) // 1 parseFloat(true) // NaN
Number('') // 0 parseFloat('') // NaN
Number('123aa') // NaN parseFloat('123aaa') // 123