上篇文章中讲的Number()函数在转换字符串时比较复杂而且不够合理,所以今天我们介绍一下两个专门用于转换字符串的函数。考虑到童靴们的知识水平,有关进制计算的先不讲,忽略的内容不会对后期的学习有影响
parseInt()函数在转换字符串时,看其是否符合数值模式。它会忽略字符串前面的空格,直到找到第一个非空格字符。如果第一个字符不是数字字符或负号,它会返回NaN。也就是说,parseInt()会把空字符串转换成NaN。之前我们讲的Number()会把空字符串转换成0。如果第一个字符是数字字符,它会继续解析第二个字符,直到解析完所有的后续字符或者遇到了一个非数字字符。
列举几个实例让童靴们理解一下:
var num1=parseInt("12345abc"); //12345
var num2=parseInt("abc123"); //NaN
var num3=parseInt(""); //NaN
var num4=parseInt("22.5"); //22
我们来看上面的例子。num1中第一个字符是数字字符,所以它会解析,直到解析遇到非数字字符,所以返回12345。num2与num3中因为第一个是非数字字符,所以会返回NaN。num4中因为小数点并不是有效的数字字符,所以会被转换为22。
parseFloat()与parseInt类似,也是从第一个字符开始解析每个字符,直到解析完后面的字符或者解析遇到一个无效的浮点数字字符为止。也就是说,字符串的第一个小数点是有效的,第二个是无效的。
我们来看例子:
var num1=parseFloat("12345abc");//12345
var num2=parseFloat("22.5"); //22.5
var num3=parseFloat("22.34.5"); //22.34
num1就不多说了,与parseInt()不同的是,parseFloat()会解析有效的浮点数字而且只有第一个小数点是有效的,所以num2会返回22.5,num3会返回22.34。
好啦,到现在我们已经把Number类型的知识讲完了。下篇小编带大家学习字符串(String)类型。
爱学习的孩子运气不会差哦~
关注小白前端,持续收到文章推送!
领取专属 10元无门槛券
私享最新 技术干货