欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

JS中parseInt()和map()用法分析

程序员文章站 2023-11-06 10:56:46
本文实例讲述了js中parseint()和map()用法。分享给大家供大家参考,具体如下: parseint()的几个例子 var b = parseint("...

本文实例讲述了js中parseint()和map()用法。分享给大家供大家参考,具体如下:

parseint()的几个例子

var b = parseint("01");
alert("b="+b);
var c = parseint("09/08/2009");
alert("c="+c);

结果:b=1,c=0

parseint()用来解析字符串,返回整数,有几个特点:

1.无视被解析字符串最前和最后的空格,即:" 111 "和"111"是一样的

2.正规格式是parseint(string,radix)

第一个参数是被解析的字符串,第二个参数是进制(可不些)

第二个参数的特点:

①如果radix省略或为0,则按默认进制(十进制)进行解析

②radix为2~36之间的整数,如果在这个范围之外,返回nan

③string的首字符为0,则默认解析为8进制。string首字符为0x(0x)则默认解析为16进制。其他情况默认为10进制。

④最好加上第二个参数,不然即使碰到首字符为0,应该以8进制方式进行,在某些浏览器下,如ff也会按10进制进行

3.解析从第一个可以解析的字符开始,到第一个不能解析的字符(如空格,标点符号等)结束。后面的字符不再解析。如果第一个字符就不可以解析,则返回nan。

回到此题来分析

b的首字母是0,按8进制解析后面的数值,也就是8进制的1。自然返回值为1。<br>c的首字母是0,按8进制解析后面的数值,但是第二个字符9已经不是8进制数,也就是9是第一个不能解析的字符,parseint("09/08/2009")相当于parseint("0"),自然返回值是0<br>注:8也不是8进制数,最大到7

变形:

var c = parseint("0119/08/2009");
alert("c="+c);

分析:

相当于parseint("011"),0*8^2+1*8^1+1*8^0=0+8+1=9,输出结果为c=9
parsefloat()和parseint()

parseint()可以带参数,指定二进制、八进制或者十六进制(默认十进制),而parsefloat()不带参数,不能解析八进制、十六进制数,就只能按十进制进行。

再来看parseint()和.map()结合的例子

["1", "2", "3"].map(parseint) 返回值又是多少呢

map方法

array1.map(callbackfn[, thisarg])

对数组的每个元素,调用定义的回调函数,返回一个数组包含结果

参数:

array1 必须。一个数组对象
callbackfn 必须。最多接受三个参数(数组元素的值,数组元素的索引,包含该元素的数组对象)的回调函数
thisarg 可选。

即原例子相当于

[parseint("1",0),parseint("2",1),parseint("3",2)]

分析:

1按十进制转换输出1
1不在2~36之间,输出nan
字符串”3“里面没有合法的二进制数,输出nan
所以最后结果是[1,nan,nan]

更多关于javascript相关内容感兴趣的读者可查看本站专题:《javascript数学运算用法总结》、《javascript数据结构与算法技巧总结》、《javascript数组操作技巧总结》、《javascript排序算法总结》、《javascript遍历算法与技巧总结》、《javascript查找算法技巧总结》及《javascript错误与调试技巧总结

希望本文所述对大家javascript程序设计有所帮助。