本篇文章是js基础练习题第九天的答案及解析部分,纯题目部分请移步js基础练习题 第9天
正文
1.分析以下代码:
1 | var arr = new Array("3"); |
arr.length
= __________, arr[1]
= __________。答案:1、undefined
1 | arr[arr.length] = 4; |
arr
= __________。答案:["3", 4, 5]
当向Array
函数中传入数字参数时,会被解析为数组的初始长度值;传入其他参数时,解析为数组项的值。
2.分析以下代码。
1 | var arr = [0, 15, 10, 1, 5]; |
arr
= __________。答案:[0, 1, 10, 15, 5]
sort
函数默认采用的是字符的Unicode
编码方式进行升序排序。
3.要实现数组中的值按数值大小降序排序,应如何编写代码?以第2题中的
arr
为例。答案:
1 | var arr = [0, 15, 10, 1, 5]; |
sort
函数通过sortBy
回调函数,可实现自定义排序。函数中带有两个参数,代表数组中的前后元素。如果计算后(a-b)> 0
,就是升序,(b-a)> 0
,就是降序
4.简要阐述
call( )
和apply( )
的作用和异同点。call
和apply
都是在特定的作用域中调用函数,它们都能够扩充函数运行的作用域;除了接受参数的方式不同外,它们并没有区别;使用call
方法时,传递给函数的参数必须逐个列出来,而apply
接收的是参数数组。
5.
typeof(Number("42")
= __________,typeof(new Number("42"))
= __________,new Number("42") instanceof Number
= __________,Number("42") instanceof Number
= __________。答案:number、object、true、false
6.试解释什么叫做递归函数然后利用递归设计一个阶乘函数。
递归函数是“自己调用自己”的函数,执行递归函数将反复的调用其自身,直到满足某个条件才结束调用。1
2
3
4
5
6
7
function factorial(num) {
if(num <= 1) {
return 1;
} else {
return num * factorial(num - 1);
}
}
1 | function factorial(num) { |
说明
- 题目中出现的JS指的是采用ECMAScript 2015及之后标准的JavaScript
答案中,若有错误和需完善的地方,可在下方留言反馈哈~~
查看纯习题版,请点击js基础练习题 第9天