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 相关文章推荐
javascript 自动转到命名锚记
Jan 10 Javascript
Prototype Class对象学习
Jul 19 Javascript
js中的值类型和引用类型小结 文字说明与实例
Dec 12 Javascript
lyhucSelect基于Jquery的Select数据联动插件
Mar 29 Javascript
使用jQuery操作Cookies的实现代码
Oct 09 Javascript
jQuery判断checkbox是否选中的3种方法
Aug 12 Javascript
javascript中this指向详解
Apr 23 Javascript
前端js弹出框组件使用方法
Aug 24 Javascript
ES2015 Symbol 一种绝不重复的值
Dec 25 Javascript
深入理解JavaScript中的尾调用(Tail Call)
Feb 07 Javascript
vue动画打包后失效问题的解决方法
Sep 18 Javascript
Vue页面刷新记住页面状态的实现
Dec 27 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
PHP的异常处理类Exception的使用及说明
2012/06/13 PHP
PHP 异步执行方法,模拟多线程的应用分析
2013/06/03 PHP
php中mt_rand()随机数函数用法
2014/11/24 PHP
PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例
2020/08/17 PHP
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
JavaScript实现信用卡校验方法
2015/04/07 Javascript
jQuery组件easyui对话框实现代码
2016/08/25 Javascript
AngularJS入门教程之模块化操作用法示例
2016/11/02 Javascript
微信页面倒计时代码(解决safari不兼容date的问题)
2016/12/13 Javascript
JavaScript评论点赞功能的实现方法
2017/03/13 Javascript
微信公众号菜单配置微信小程序实例详解
2017/03/31 Javascript
vue中将网页打印成pdf实例代码
2017/06/15 Javascript
使用Angular CLI进行单元测试和E2E测试的方法
2018/03/24 Javascript
基于vue实现可搜索下拉框定制组件
2020/03/26 Javascript
从理论角度讨论JavaScript闭包
2019/04/03 Javascript
详解vue 图片上传功能
2019/04/30 Javascript
jquery 遍历hash操作示例【基于ajax交互】
2019/10/12 jQuery
js prototype深入理解及应用实例分析
2019/11/25 Javascript
js实现筛选功能
2020/11/24 Javascript
[02:27]DOTA2英雄基础教程 莱恩
2014/01/17 DOTA
[01:21:36]CHAOS vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
python UNIX_TIMESTAMP时间处理方法分析
2016/04/18 Python
TensorFlow变量管理详解
2018/03/10 Python
使用Python对微信好友进行数据分析
2018/06/27 Python
python opencv摄像头的简单应用
2019/06/06 Python
python中PS 图像调整算法原理之亮度调整
2019/06/28 Python
Python将列表中的元素转化为数字并排序的示例
2019/12/25 Python
python中查看.db文件中表格的名字及表格中的字段操作
2020/07/07 Python
详解python模块pychartdir安装及导入问题
2020/10/22 Python
移动端rem布局的两种实现方法
2018/01/03 HTML / CSS
AmazeUI 折叠面板的实现代码
2020/08/17 HTML / CSS
Waterford美国官网:爱尔兰水晶制品品牌
2017/04/26 全球购物
人力资源管理毕业生自荐信
2014/06/26 职场文书
小学中队活动总结
2015/05/11 职场文书
2015年三好一满意工作总结
2015/07/24 职场文书
Java服务调用RestTemplate与HttpClient的使用详解
2022/06/21 Java/Android