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。
c的首字母是0,按8进制解析后面的数值,但是第二个字符9已经不是8进制数,也就是9是第一个不能解析的字符,parseInt("09/08/2009")相当于parseInt("0"),自然返回值是0
注: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]
Js笔试题之parseInt()和.map()的更多相关文章
- 所在实习公司的JS笔试题
在班上无聊的时候看到了一份JS笔试题(我是电面进去的,没做过这份题~~),开始还觉得蛮简单......后来觉得还是很有意思的,贴出来一起看看. 题目一: if(!("a" in w ...
- 2016 JS 笔试题汇总:
1 1 1 CS&S(中软国际): 1 JavaScript 循环表达式: 2 JavaScript表达式boolean返回值: 3 网页中的事件/HTML 事件属性/JavaScript ...
- 容易答错的JS笔试题
1,考察this var length = 10 function fn(){ alert(this.length) } var obj = { length: 5, meth ...
- Js笔试题之千分位格式化
用js实现如下功能,将给定的数字转化成千分位的格式,如把“10000”转化成“10,000”,并考虑到性能方面的因素. 一.首先想到的办法,将数字转换为字符串(toString())再打散成数组(sp ...
- 蛮考验基础的JS笔试题(有坑小心!)
1. 考察this var length = 10 function fn(){ alert(this.length) } var obj = { length: 5, method: functi ...
- JS笔试题
JS 引用相关题目 以下代码输出什么? 为什么? var a = {n:1}; var b = a; a = {n:2}; a.x = a ; console.log(a.x); console.lo ...
- js笔试题一套(未完待续)
1.下面程序的运行结果是: function test(x, y, z) { alert(test.length); alert(arguments.length); alert(arguments. ...
- Js笔试题之返回只包含数字类型的数组
如js123ldka78sdasfgr653 => [123,78,653] 一般做法 分析: 1.循环字符串每个字符,是数字的挑出来拼接在一起,不是数字的,就给他空的拼个逗号 2.将新字符串每 ...
- Js笔试题之正则表达式
一.复习字符串的传统操作 如何获取一个字符串中的数字字符,并按数组形式输出,如 dgfhfgh254bhku289fgdhdy675gfh 输出[254,289,675] 分析:循环用charAt() ...
随机推荐
- 基于Spark ALS构建商品推荐引擎
基于Spark ALS构建商品推荐引擎 一般来讲,推荐引擎试图对用户与某类物品之间的联系建模,其想法是预测人们可能喜好的物品并通过探索物品之间的联系来辅助这个过程,让用户能更快速.更准确的获得所需 ...
- hanio 塔和递规的理解。
//递规很好理解,但是初看hanoi的时候,总没有理所当然的感觉.//那应该是对递规根本还没理解吧.仔细想了下.有点总结. 后来翻到 <<数据结构>> 112页,原来hanio ...
- 硬盘坏道 检测/修复 Windows
1. 主要参看了:http://jingyan.baidu.com/article/2c8c281dfd93df0008252a9b.html 2. 2.1.hdtunepro.zip 是在 http ...
- web设计经验<一> 提升移动设备响应式设计的8个建议
今天看到一些关于web设计的一些建议和设计经验,拿出来分享分享. 第一篇: 提升移动设备响应式设计的8个建议 一.直观性和易用性 在使用移动设备时,对于杂乱.复杂或者不直观的设计造成的混乱不佳的用户体 ...
- javaMail编写案列
package common.impl; import java.util.Properties; import javax.mail.BodyPart; import javax.mail.Mess ...
- 疯狂java讲义之流程控制与数组
while package ch4; /** * Created by Jiqing on 2016/11/6. */ public class While { public static void ...
- 转:C语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文
转自:C语言字符串操作函数 - strcpy.strcmp.strcat.反转.回文 C++常用库函数atoi,itoa,strcpy,strcmp的实现 作者:jcsu C语言字符串操作函数 1. ...
- 使用RestTemplate Spring安全认证
使用RestTemplate Spring安全认证 java spring 认证authentication 安全spring-security 我有提供2个独立的一整套服务2 Spring的web应 ...
- git相关资料
Git教程http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/git - 简明指南ht ...
- Python核心编程-描述符
python中,什么描述符.描述符就是实现了"__get__"."__set__"或"__delete__" 方法中至少一个的对象.什么是非 ...