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 相关文章推荐
Z-Blog中用到的js代码
Mar 15 Javascript
我见过最全的个人js加解密功能页面
Dec 12 Javascript
Tinymce+jQuery.Validation使用产生的BUG
Mar 29 Javascript
JS俄罗斯方块,包含完整的设计理念
Dec 11 Javascript
使用jquery插件实现图片延迟加载技术详细说明
Mar 12 Javascript
jQuery实现复选框批量选择与反选的方法
Jun 17 Javascript
js判断手机端(Android手机还是iPhone手机)
Jul 22 Javascript
Dojo获取下拉框的文本和值实例代码
May 27 Javascript
require简单实现单页应用程序(SPA)
Jul 12 Javascript
JS中利用localStorage防止页面动态添加数据刷新后数据丢失
Mar 10 Javascript
canvas实现刮刮卡效果
Mar 14 Javascript
详解Typescript 内置的模块导入兼容方式
May 31 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
解析在zend Farmework下如何创立一个FORM表单
2013/06/28 PHP
php 获取页面中指定内容的实现类
2014/01/23 PHP
PHP JSON格式的中文显示问题解决方法
2015/04/09 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
2016/05/28 PHP
php判断/计算闰年的方法小结【三种方法】
2019/07/06 PHP
键盘控制事件应用教程大全
2006/11/24 Javascript
JS Array对象入门分析
2008/10/30 Javascript
JavaScript 用cloneNode方法克隆节点的代码
2012/10/15 Javascript
Javascript在IE和FireFox中的不同表现简析
2012/12/03 Javascript
JSONP获取Twitter和Facebook文章数的具体步骤
2014/02/24 Javascript
javascript中不提供sleep功能如何实现这个功能
2014/05/27 Javascript
jQuery实现可展开合拢的手风琴面板菜单
2015/09/15 Javascript
bootstrap table 多选框分页保留示例代码
2017/03/08 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
Bootstrap实现的标签页内容切换显示效果示例
2017/05/25 Javascript
微信小程序图片宽100%显示并且不变形
2017/06/21 Javascript
浅谈Angular路由复用策略
2017/10/04 Javascript
JS基于for语句编写的九九乘法表示例
2018/01/04 Javascript
Angular6 发送手机验证码按钮倒计时效果实现方法
2019/01/08 Javascript
react高阶组件添加和删除props
2019/04/26 Javascript
详解mpvue实现对苹果X安全区域的适配
2019/07/31 Javascript
vue日历/日程提醒/html5本地缓存功能
2019/09/02 Javascript
基于element-ui封装可搜索的懒加载tree组件的实现
2020/05/22 Javascript
微信小程序的引导页实现代码
2020/06/24 Javascript
[01:34]DOTA2 7.22版本新增神杖效果一览(敏捷英雄篇)
2019/05/28 DOTA
R语言 vs Python对比:数据分析哪家强?
2017/11/17 Python
numpy.random.seed()的使用实例解析
2018/02/03 Python
用python写扫雷游戏实例代码分享
2018/05/27 Python
Python定时任务sched模块用法示例
2018/07/16 Python
对Python _取log的几种方式小结
2019/07/25 Python
Electric官网:美国高级眼镜和配件品牌
2020/06/04 全球购物
总经理的岗位职责
2014/02/23 职场文书
2014年世界艾滋病日宣传活动总结
2014/11/18 职场文书
小学二年级班主任工作经验交流材料
2015/11/02 职场文书
python opencv人脸识别考勤系统的完整源码
2021/04/26 Python