js练习题第2天 答案及解析

本篇文章是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
2
var exerFive_1 = 5 / 2;  
var exerFive_2 = " is float?";
exerFive_1 + exerFive_2 = __________。

答案:”2.5 is float?”


6.0.1 + 0.2 == 0.3 的返回值为__________,若结果为假,请设计一种方法,使结果准确。

答案:如下代码段所示:

1
2
3
4
5
// 方法一:固定小数位数
(0.1 + 0.2).toFixed(1)

// 方法二:化整再除
(0.1 * 10 + 0.2 * 10) / 10

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()将数组中指定位置的成员复制到本数组其他位置

说明

  1. 题目中出现的JS指的是采用ECMAScript 2015及之后标准的JavaScript
  1. 答案中,若有错误和需完善的地方,可在下方留言反馈哈~~

  2. 查看纯习题版,请点击js基础练习题 第2天

--本文结束 感谢阅读--
创作十分不易,原创更应鼓励