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


Posted in Javascript onDecember 16, 2016

本文实例讲述了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 相关文章推荐
使用正则替换变量
May 05 Javascript
调试Node.JS的辅助工具(NodeWatcher)
Jan 04 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
Nov 29 Javascript
javascript转换日期字符串为Date日期对象的方法
Feb 13 Javascript
jQuery性能优化技巧分析
Feb 20 Javascript
C#中使用迭代器处理等待任务
Jul 13 Javascript
jQuery实现的图文高亮滚动切换特效实例
Aug 10 Javascript
基于OL2实现百度地图ABCD marker的效果
Oct 01 Javascript
JSON键值对序列化和反序列化解析
Jan 24 Javascript
React教程之封装一个Portal可复用组件的方法
Jan 02 Javascript
JavaScript内置对象math,global功能与用法实例分析
Jun 10 Javascript
通过实例了解js函数中参数的传递
Jun 15 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
Dec 16 #Javascript
JS数字千分位格式化实现方法总结
Dec 16 #Javascript
jquery插件锦集【推荐】
Dec 16 #Javascript
jQuery Easyui 下拉树组件combotree
Dec 16 #Javascript
JS实现字符串转驼峰格式的方法
Dec 16 #Javascript
详解js数组的完全随机排列算法
Dec 16 #Javascript
JS返回只包含数字类型的数组实例分析
Dec 16 #Javascript
You might like
一个用于MySQL的PHP XML类
2006/10/09 PHP
使用 PHPMAILER 发送邮件实例应用
2012/11/07 PHP
ThinkPHP之foreach标签使用概述
2014/06/30 PHP
PHP实现图片不变型裁剪及图片按比例裁剪的方法
2016/01/14 PHP
PHP 接入微信扫码支付总结(总结篇)
2016/11/03 PHP
CI(CodeIgniter)框架实现图片上传的方法
2017/03/24 PHP
利用js跨页面保存变量做菜单的方法
2008/01/17 Javascript
jQuery 操作XML入门
2008/12/25 Javascript
HTML Dom与Css控制方法
2010/10/25 Javascript
JQuery一种取同级值的方式(比如你在GridView中)
2012/03/15 Javascript
JavaScript事件处理器中的event参数使用介绍
2013/05/24 Javascript
固定表格行列(expression)在IE下适用
2013/07/25 Javascript
网页右侧悬浮滚动在线qq客服代码示例
2014/04/28 Javascript
js鼠标点击图片实现随机变换图片的方法
2015/02/16 Javascript
javascript中caller和callee详解
2015/08/10 Javascript
Javascript基础_简单比较undefined和null 值
2016/06/14 Javascript
浅谈js多维数组和hash数组定义和使用
2016/07/27 Javascript
SpringMVC+bootstrap table实例详解
2017/06/02 Javascript
详解在AngularJS的controller外部直接获取$scope
2017/06/02 Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
2020/02/06 Javascript
微信小程序中target和currentTarget的区别小结
2020/11/06 Javascript
JS中循环遍历数组的四种方式总结
2021/01/23 Javascript
[01:03:59]2018DOTA2亚洲邀请赛3月30日 小组赛B组VGJ.T VS Secret
2018/03/31 DOTA
python2.7的编码问题与解决方法
2016/10/04 Python
django实现用户登陆功能详解
2017/12/11 Python
django中SMTP发送邮件配置详解
2019/07/19 Python
详解python tkinter 图片插入问题
2020/09/03 Python
Python 的 f-string 可以连接字符串与数字的原因解析
2021/02/20 Python
使用python实现学生信息管理系统
2021/02/25 Python
广州足迹信息技术有限公司Java软件工程师试题
2014/02/15 面试题
Java程序员综合测试题
2014/04/25 面试题
平遥古城导游词
2015/02/03 职场文书
2015年人力资源工作总结
2015/04/08 职场文书
高一军训感想
2015/08/07 职场文书
如何使用Python对NetCDF数据做空间相关分析
2021/04/21 Python
SSM项目使用拦截器实现登录验证功能
2022/01/22 Java/Android