本篇文章是js基础练习题第二十一天的答案及解析部分,纯题目部分请移步js基础练习题 第21天
正文
1.[].reduce(Math.pow)的结果为___________。
对空数组进行reduce操作会报错。
2.
[0, 1, undefined, , null, 2].filter((item) => item == undefined)的结果为___________。filter操作会跳过数组中的缺失值,且null == undefined的结果为true。
3.
[0, 1, undefined, , null, 2].map((item) => item == undefined)的结果为___________。map操作不会跳过数组中的缺失值。
4.
[1, 2, 3].map(Math.pow)的结果为___________。在map方法中的Math.pow方法获取的是数组项和索引值,即Math.pow(1, 0), Math.pow(2, 1), Math.pow(3, 2)。
5.
1 | var name = 'Jealyn'; |
+的优先级比?更高。
6.
1 | var END = 2 ** 53; |
2 ** 53为最大安全整数,超过这一数,js不能准确判断值的大小,故会进入死循环。
7.
1 | var END = 2n ** 53n; |
BigInt这种数据类型,可以安全的进行数据的操作。详见BigInt数据类型解析。
8.
0.1 + 0.2 === 0.3的结果为___________,0.2 - 0.1 === 0.1的结果为___________。9.
1 | function caseDemo(val) { |
caseDemo(new String(1))会在控制台输出___________,调用caseDemo(String(1))会在控制台输出___________。case语句采用的是===判断。new String()会生成一个Object,String()只是对基本类型值的封装。
new Number(1) === 1的结果为___________,Number(1) === 1的结果为___________。11.'12' % 2 = ___________,-5 % 2 = ___________,Infinity % 2 = ___________。
Array.isArray(Array.prototype)的返回值为___________。说明
- 题目中出现的JS指的是采用ECMAScript 2015及之后标准的JavaScript
答案中,若有错误和需完善的地方,可在下方留言反馈哈~~
查看纯习题版,请点击js基础练习题 第21天
本文的大部分题目原型取自于JavaScript Puzzlers!。大家可前往查看原题,并且还可以在线做题,查看自己的完成情况。

