本篇文章是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天