本篇文章是js基础练习题第二天的答案及解析部分,纯题目部分请移步js基础练习题 第2天
正文
1.
1 | var exerOne = 'test; |
exerOne = __________。答案:报错(SyntaxError)
字符串test缺少了闭合的引号。
2.
1 | var exerTwo = 52 / 0; |
exerTwo = __________,typeof(exerTwo) = __________。答案:Infinity、"number"
在js中,大于0的数除0,结果为Infinity;0除0,结果为NaN;小于0的数除0,结果为-Infinity。
3.
1 | var exerThree = 0 / 0; |
exerThree = __________,typeof(exerThree) = __________。答案:NaN、"number"
4.
1 | var exerFour = "-3.3E+2-5"; |
Number(exerFour) = __________,parseFloat(exerFour) = __________。答案:NaN、-330
该串字符为科学计数法与减法的混合,化为一般表示方法为-3.3 * 10^2 - 5。遇到第二个减号时就不再执行,Number()直接返回NaN,而parseFloat()则返回的是前部分的执行结果即-3.3 * 10^2。
5.
1 | var exerFive_1 = 5 / 2; |
exerFive_1 + exerFive_2 = __________。答案:”2.5 is float?”
6.
0.1 + 0.2 == 0.3 的返回值为__________,若结果为假,请设计一种方法,使结果准确。答案:如下代码段所示:
1 | // 方法一:固定小数位数 |
7.
1 | var exerSeven = "this is\" test string"; |
exerSeven.slice(5, 8)的返回值是__________。答案:”is””
\"将被转义为",String.slice(b, e)方法将截取从b索引开始,到e索引(不包括e)结束的子串。
8.下面哪些操作不会改变原始数组,而是返回一个新的数组__________。
A、
forEach() B、reverse() C、sort() D、slice()E、
concat() F、splice() G、join() H、shift()I、
reduce() J、copyWithin() K、pop() L、map()答案:A、D、E、L
数组方法总结:
| 方法 | 描述 | 是否改变原始数组 |
|---|---|---|
| join() | 返回以指定分隔符分隔而成的字符串 | 否 |
| push()、unshift() | 返回修改后数组的长度 | 是 |
| pop()、shift() | 返回弹出的元素 | 是 |
| sort() | 返回经过排序后的数组 | 是 |
| reverse() | 返回经过反序后的数组 | 是 |
| concat() | 返回合并后的数组 | 否 |
| slice() | 返回截取的数组 | 否 |
| splice() | 返回删除的元素组成的一个数组 | 是 |
| indexOf()、lastIndexOf() | 返回指定项的索引值 | 否 |
| map() | 返回每次函数调用结果组成的数组 | 否 |
| filter() | 返回符合过滤条件的结果组成的数组 | 否 |
| reduce() | 返回迭代函数处理后的值 | 否 |
| copyWithin() | 将数组中指定位置的成员复制到本数组其他位置 | 是 |
说明
- 题目中出现的JS指的是采用ECMAScript 2015及之后标准的JavaScript
答案中,若有错误和需完善的地方,可在下方留言反馈哈~~
查看纯习题版,请点击js基础练习题 第2天

