第一单元 JavaScript入门

1. JS入门测试

1、单选题:
‎可以在下列哪个HTML标签中放置javascript代码?‍
选项:
A: <script > 
B: < javascript > 
C: < js > 
D: <scripting>
答案: 【 <script > 

2、单选题:
​以下属于脚本语言的是:‏
选项:
A: C
B: Java
C: C#
D: JavaScript
答案: 【 JavaScript

3、多选题:
‏下列选项中,属于JavaScript注释的是()​
选项:
A: //
B: /**/
C: <!-- -->
D: #
答案: 【 //;
/**/

4、判断题:
‍JavaScript代码对空格、换行、缩进不敏感,一条语句可以分成多行书写。‏
选项:
A: 正确
B: 错误
答案: 【 正确

5、填空题:
‍console.log(“输出内容”)是将括号中的字符串输出到()。‎
答案: 【 控制台##%_YZPRLFH_%##console

第三单元 JavaScript数组

3-数组基础知识测验

1、单选题:
已知数组 var arr = [1,2,3,4,5],执行 arr.pop() 后,数组的长度是
选项:
A: 4
B: 5
C: 6
D: 7
答案: 【 4

2、单选题:
如何快速的将数组arr清空
选项:
A: arr.length = 0
B: arr = “”
C: arr.length = “”
D: arr.length = []
答案: 【 arr.length = 0

3、单选题:
var arr = [3,4,6],删除数组中的最后一项
选项:
A: arr.pop()
B: arr.pop(6)
C: arr.shift()
D: arr.shift(6)
答案: 【 arr.pop()

4、单选题:
‎var arr = [5,3,2,4]; ‌‎var res = arr.splice(0); ‌‎console.log(res) ‌‎如上代码运行的结果是‌
选项:
A: [5,3,2,4]
B: [5]
C: [5,3]
D: [2,4]
答案: 【 [5,3,2,4]

5、单选题:
实现数组的倒序方法
选项:
A: reverse()
B: sort()
C: join()
D: find()
答案: 【 reverse()

6、单选题:
var arr = [“how”, “are”, “you”]; arr.reverse(); alert(arr)
选项:
A: how,are,you
B: you,are,how
C: h,o,w,a,r,e,y,o,u
D: u,o,y,e,r,a,w,o,h
答案: 【 you,are,how

7、单选题:
var arr = [100,4,2,3,200]; alert(arr.sort(function(a,b){return b - a;}))
选项:
A: 2,3,4,100,200
B: 200,100,4,3,2
C: 100,2,200,3,4
D: 4,3,200,2,100
答案: 【 200,100,4,3,2

8、单选题:
var arr = [1,2,3,4]; arr.concat(1,2,4,[1,2,3],5); alert(arr.length)
选项:
A: 4
B: 9
C: 11
D: 5
答案: 【 4

9、单选题:
var arr = [1,2,3,4]; arr.join("&"); console.log(arr);
选项:
A: [1,2,3,4]
B: 1&2&3&4
C: [1&2&3&4]
D: 1,2,3,4
答案: 【 [1,2,3,4]

10、单选题:
var a=new Array(2,3,4,5,6);
sum=0;
for(i=1;i<a.length;i++ )从第二个位置开始加
sum +=a[i];
document.write(sum);
输出结果是( )
选项:
A: 20
B: 18
C: 14
D: 12
答案: 【 18

11、单选题:
下面关于数组中length属性的说法错误的是()
选项:
A: 数组的length属性用于获取数组的长度
B: 设置length值小于数组长度,则多余的数组元素会被舍弃
C: 设置length值大于数组长度,会出现空的存储位置
D: 数组中的length是可读不可写的属性
答案: 【 数组中的length是可读不可写的属性

12、单选题:
下面关于数组长度的说法中错误的是()
选项:
A: 指定length后,添加的数组元素不能超过这个限制
B: 数组在创建时可以指定数组的长度
C: 若指定的length值小于数组元素个数,则多余的数组元素会被舍弃
D: 若指定的length值大于数组元素个数,则没有值的元素会占用空存储位置
答案: 【 指定length后,添加的数组元素不能超过这个限制

13、单选题:
删除数组arr=['a','b','c']中最后一个元素的方式错误的是()
选项:
A: delete arr[2]
B: arr.pop()
C: arr.length=2
D: arr.splice(2)
答案: 【 delete arr[2]

14、单选题:
数组arr=['a','b','c','d']调用shift()方法后,arr.length的值为()
选项:
A: 1
B: 2
C: 3
D: 4
答案: 【 3

15、单选题:
若有arr=['Mon','Tues','Wed','Thurs'],则arr.pop()的返回值是()
选项:
A: Mon
B: Tues
C: Wed
D: Thurs
答案: 【 Thurs

16、单选题:
下列关于数组的说法错误的是()
选项:
A: 数组是存储一系列值的变量集合
B: 数组元素之间使用逗号(,)分割
C: 下标可以是整型、字符串型和浮点型
D: 索引下标默认从0依次递增
答案: 【 下标可以是整型、字符串型和浮点型

17、单选题:
下列方法执行后,不会对原数组产生影响的是()
选项:
A: sort()
B: slice()
C: push()
D: unshift()
答案: 【 slice()

18、单选题:
下面关于数组转字符串的描述错误的是()
选项:
A: 默认情况下使用逗号连接数组元素
B: 数组元素为空数组时会被转为空字符串
C: toString()方法可将多维数组转为字符串
D: join()方法仅能将一维数组转为字符串
答案: 【 join()方法仅能将一维数组转为字符串

19、单选题:
下面对splice()方法描述错误的是()
选项:
A: 第1个参数用于指定添加或删除的下标位置
B: 可以在删除指定元素后再添加数组元素
C: 第2个参数设为0,表示只添加元素
D: 可以在添加指定元素后再删除数组元素
答案: 【 可以在添加指定元素后再删除数组元素

20、单选题:
方法()可以在数组的开头同时添加多个元素
选项:
A: push()
B: shift()
C: pop()
D: unshift()
答案: 【 unshift()

21、单选题:
默认情况下,join()方法使用()连接数组中的元素。
选项:
A: 逗号
B: 中横线
C: 空格
D: 分号
答案: 【 逗号

22、单选题:
在js中定义数组需要用__包裹
选项:
A: []
B: {}
C: ()
D: {[]}
答案: 【 []

23、单选题:
下面关于JS的数组,说法正确的是
选项:
A: 一个数组中可以盛放多种不同数据类型的数据
B: 一个数组中只能盛放同一种数据类型的数据
C: 数组中的元素一旦确定,类型不可再改变
D: 数组中的元素不可修改
答案: 【 一个数组中可以盛放多种不同数据类型的数据

24、单选题:
下列声明数组的语句中,错误的选项是
选项:
A: var arry1=new Array();
B: var arry1=new Array(3);
C: var arry1=[ ];
D: var arry1[]=new Array(‘3’,’4’) ;
答案: 【 var arry1[]=new Array(‘3’,’4’) ;

25、单选题:
var arr=[1,2,3]; [a,b]=arr; console.log(a+'-'+b);以上代码输出结果为()。
选项:
A: 1-2
B: 2-3
C: 2-1
D: 1-3
答案: 【 1-2

26、单选题:
代码console.log(['a','b','c'].join());输出结果为()。
选项:
A: a,b,c
B: abc
C: a-b-c
D: a/b/c
答案: 【 a,b,c

27、单选题:
下列选项中创建数组的方式错误的是( )。
选项:
A: var arr = new Array();
B: var arr = [];
C: var arr = new array();
D: var arr =[]; arr.length = 3;
答案: 【 var arr = new array();

28、单选题:
表达式“[a, b] = [12, 34, 56]”执行后,变量b的值为()。
选项:
A: 12
B: 34
C: 56
D: 12,34
答案: 【 34

29、单选题:
下列方法中,不能用于添加数组元素的是( )。
选项:
A: unshift()
B: push()
C: shift()
D: splice()
答案: 【 shift()

30、单选题:
下列语句不能用于遍历数组的是( )。
选项:
A: for
B: for…in
C: for…of
D: if
答案: 【 if

31、单选题:
代码consol.log([[4,5],[1,2]].toString());输出结果为()。
选项:
A: 45-12
B: 4,5-1,2
C: 4,5,1,2
D: 4,5-12
答案: 【 4,5,1,2

32、单选题:
在数组中,删除数组元素的值,采用()关键字。
选项:
A: insert
B: delete
C: for…of
D: push
答案: 【 delete

33、单选题:
Array对象提供的length属性可以()。
选项:
A: 获取数组的长度
B: 遍历数组
C: 访问数组元素
D: 添加数组元素
答案: 【 获取数组的长度

34、单选题:
在数组中,下标也可以称为()。
选项:
A: 索引
B: 值
C: 视图
D: 数组成员
答案: 【 索引

35、单选题:
var n1=4,n2=8; [n1,n2]=[n2,n1]; console.log(n1+'-'+n2);以上代码输出结果为()。
选项:
A: 4-8
B: 8-4
C: 48
D: 84
答案: 【 8-4

36、单选题:
代码consol.log([[4,5],[1,2]].join('-'));输出结果为()。
选项:
A: 45-12
B: 4,5-1,2
C: 4,5,1,2
D: 4,5-12
答案: 【 4,5-1,2

37、单选题:
表达式“[1, 2, '1', '2'].lastIndexOf('1', 1)”的返回值是()。
选项:
A: 1
B: 2
C: -1
D: -2
答案: 【 -1

38、单选题:
通过 [].constructor访问到的构造函数是( )。
选项:
A: Function
B: Object
C: Array
D: undefined
答案: 【 Array

39、多选题:
下面哪些对象可以通过 构造函数 的方式创建
选项:
A: Date
B: Math
C: Array
D: String
答案: 【 Date;
Array;
String

40、多选题:
数组添加元素的方法有
选项:
A: push
B: pop
C: slice
D: unshift
答案: 【 push;
unshift

41、多选题:
下列哪些方式可以遍历数组
选项:
A: for
B: for-in
C: for-by
D: switch
答案: 【 for;
for-in

42、多选题:
下列哪些是数组的方法
选项:
A: charAt()
B: sort()
C: push()
D: filter()
答案: 【 sort();
push();
filter()

43、多选题:
关于javascript中数组的说法中不正确的是
选项:
A: 数组的长度必须在创建时给定,之后便不能改变
B: 由于数组是对象,因此创建数组必须使用new运算符
C: 数组内元素的类型可以不同
D: 数组可以在声明的同时进行初始化
答案: 【 数组的长度必须在创建时给定,之后便不能改变;
由于数组是对象,因此创建数组必须使用new运算符

44、多选题:
下面哪些属于数组的方法
选项:
A: sort( )
B: push()
C: indexOf()
D: join()
答案: 【 sort( );
push();
indexOf();
join()

45、多选题:
下面哪个不是数组的方法
选项:
A: map()
B: split()
C: filter()
D: test ()
答案: 【 split();
test ()

46、多选题:
下列选项中可以作为数组值的数据类型是()
选项:
A: 数值型
B: 对象
C: 数组
D: null
答案: 【 数值型;
对象;
数组;
null

47、多选题:
下列选项可以作为数组元素的是()
选项:
A: new Array
B: null
C: 0
D: true
答案: 【 new Array;
null;
0;
true

48、多选题:
以下选项中,通过入栈方式添加数组元素的是()
选项:
A: pop()
B: shift()
C: push()
D: unshift()
答案: 【 push();
unshift()

49、多选题:
在将数组转为字符串时,以下哪个数组元素会被转为空字符串。
选项:
A: undefined
B: 0
C: null
D: 空数组
答案: 【 undefined;
null;
空数组

50、多选题:
下列声明数组的语句中,错误的选项是
选项:
A: var arry1=new Array();
B: var arry1=new Array(3);
C: var arry1[]=new Array(3)(4);
D: var arry1[]=new Array(‘3’,’4’) ;
答案: 【 var arry1[]=new Array(3)(4);;
var arry1[]=new Array(‘3’,’4’) ;

51、多选题:
下列哪些选项可以创建一个空数组?
选项:
A: var arr=[];
B: var arr=new Array();
C: var arr = new array();
D: var arr =[]; arr.length = 3;
答案: 【 var arr=[];;
var arr=new Array();

52、多选题:
下列选项中创建数组的方式正确的是( )。
选项:
A: var arr = new Array();
B: var arr = [];
C: var arr = new array();
D: var arr =[]; arr.length = 3;
答案: 【 var arr = new Array();;
var arr = [];;
var arr =[]; arr.length = 3;

53、多选题:
下列语句能用于遍历数组的是( )。
选项:
A: for
B: for…in
C: for…of
D: if
答案: 【 for;
for…in;
for…of

54、多选题:
下列说法正确的是()。
选项:
A: 使用[]创建数组,可以创建含有空存储位置的数组。
B: 使用Array()对象创建数组,可以创建含有空存储位置的数组。
C: 使用Array()对象创建数组,不可以创建含有空存储位置的数组。
D: 使用[]创建数组,不可以创建含有空存储位置的数组。
答案: 【 使用[]创建数组,可以创建含有空存储位置的数组。;
使用Array()对象创建数组,可以创建含有空存储位置的数组。

55、多选题:
下列方法中,能用于添加数组元素的是( )。
选项:
A: unshift()
B: push()
C: shift()
D: splice()
答案: 【 unshift();
push();
splice()

56、多选题:
下列哪些选项可以创建一个空数组?
选项:
A: var arr=[];
B: var arr=new Array();
C: var arr = new array();
D: var arr =[]; arr.length = 3;
答案: 【 var arr=[];;
var arr=new Array();

57、多选题:
下列语句能用于遍历数组的是( )。
选项:
A: for
B: for…in
C: for…of
D: if
答案: 【 for;
for…in;
for…of

58、多选题:
下列方法中,能用于添加数组元素的是( )。
选项:
A: unshift()
B: push()
C: shift()
D: splice()
答案: 【 unshift();
push();
splice()

59、多选题:
下列选项中创建数组的方式正确的是( )。
选项:
A: var arr = new Array();
B: var arr = [];
C: var arr = new array();
D: var arr =[]; arr.length = 3;
答案: 【 var arr = new Array();;
var arr = [];;
var arr =[]; arr.length = 3;

60、判断题:
concat()方法虽然可以合并数组,但并不会对原数组产生影响。
选项:
A: 正确
B: 错误
答案: 【 正确

61、判断题:
join()方法仅可以将一维数组转为字符串。
选项:
A: 正确
B: 错误
答案: 【 错误

62、判断题:
reverse()方法可以颠倒数组中元素与下标的顺序。
选项:
A: 正确
B: 错误
答案: 【 错误

63、判断题:
在JavaScript中可以通过“数组.下标”的方式获取指定元素的值。
选项:
A: 正确
B: 错误
答案: 【 错误

64、判断题:
在创建数组时,最后一个元素后的逗号可以省略
选项:
A: 正确
B: 错误
答案: 【 正确

65、判断题:
在数组中,下标是数组元素的唯一标识。
选项:
A: 正确
B: 错误
答案: 【 正确

66、判断题:
数组[1,2,3,4]调用slice(2,3)方法后会变为[1,2]。
选项:
A: 正确
B: 错误
答案: 【 错误

67、判断题:
数组的length属性值等于数组元素最大索引下标加1。()
选项:
A: 正确
B: 错误
答案: 【 正确

68、判断题:
添加数组元素时允许下标不按照数字顺序连续添加。
选项:
A: 正确
B: 错误
答案: 【 正确

69、判断题:
默认情况下,sort()方法按照字符编码的顺序进行排序。
选项:
A: 正确
B: 错误
答案: 【 正确

70、判断题:
JavaScript中只有[]可以创建空数组。
选项:
A: 正确
B: 错误
答案: 【 错误

71、判断题:
在JavaScript中length属性是返回数组的长度
选项:
A: 正确
B: 错误
答案: 【 正确

72、判断题:
在JavaScript中,数组的length属性用于返回数组中元素的个数
选项:
A: 正确
B: 错误
答案: 【 正确

73、判断题:
表达式['haha', 'xixi'].splice(4, 2)”的返回值是['haha', 'xixi']。
选项:
A: 正确
B: 错误
答案: 【 错误

74、判断题:
在数组方法中,pop()方法用于从数组的末尾移出并返回一个元素,若是空数组则返回undefined。
选项:
A: 正确
B: 错误
答案: 【 正确

75、判断题:
在数组方法中,toString()方法用于返回一个字符串,表示指定的数组及其元素。
选项:
A: 正确
B: 错误
答案: 【 正确

76、判断题:
在数组方法中,push()方法用于将一个或多个元素添加到数组的开头,并返回数组的新长度。
选项:
A: 正确
B: 错误
答案: 【 错误

77、判断题:
被delete关键字删除的数组元素值,该元素依然占用一个空的存储位置。
选项:
A: 正确
B: 错误
答案: 【 正确

78、判断题:
在数组方法中,unshift()方法用于将一个或多个元素添加到数组的开头,并返回数组的新长度。
选项:
A: 正确
B: 错误
答案: 【 正确

第四单元 函数

4-函数基础测验

1、单选题:
分析输出结果是
function sum(a){ a = a + 2; }
var res = sum(2);
console.log(res);
选项:
A: 2
B: 4
C: NaN
D: undefined
答案: 【 undefined

2、单选题:
代码的输出结果是
function add(){
var sum = 1 + 2 ;
console.log( sum ) ;
}
console.log(sum) ;
选项:
A: 输出两个3
B: 输出一个3
C: 程序报错
D: 输出一个undefined
答案: 【 程序报错

3、单选题:
查看如下代码:
function f1( ){
console.log(x);

var x = 10;
++x;
console.log(x);
}
f1();
执行后的结果是
选项:
A: 程序错误
B: undefined 和 10
C: undefined 和 11
D: 10 和 11
答案: 【 undefined 和 11

4、单选题:
下列代码输出的结果是
function fn(a) {
console.log(a);
var a = 2;
function a() {};
console.log(a);
}
fn(2);
选项:
A: undefined和报错
B: function a() {}和2
C: 报错和 2
D: undefined和function a(){};
答案: 【 function a() {}和2

5、单选题:
如下关于闭包的说法,不对的是:
选项:
A: 缓存变量
B: 防止命名冲突
C: 可能造成内存泄露
D: 减少内存使用率
答案: 【 减少内存使用率

6、单选题:
以下不是闭包特点的是
选项:
A: 函数嵌套函数
B: 函数内部可以引用外部的参数和变量
C: 参数和变量不会被垃圾回收机制回收
D: 返回的函数可以不用存储在外部变量中
答案: 【 返回的函数可以不用存储在外部变量中

7、单选题:
以下函数执行的结果是( ):
function fun1(x)
{
if(x>2)
{ return (fun1(x-1)+fun1(x-2)); }
else
{ return 1; }
}
console.log(fun1(10));
选项:
A: 50
B: 52
C: 55
D: 60
答案: 【 55

8、单选题:
以下程序最后计算的结果是( )。
function fun1(){
var sum=1;
return function(){ sum++; return sum; }
}
var fun2=fun1();
console.log(fun2());
console.log(fun2());
选项:
A: 1,1
B: 1,2
C: 2,3
D: 2,2
答案: 【 2,3

9、单选题:
函数使用return不能返回以下哪一个
选项:
A: 函数
B: 对象
C: 数值
D: for循环
答案: 【 for循环

10、单选题:
下列代码输出的结果是( )。
var a; var a = [1,2,3];
function a(a){ a[1] = 5; }
a(a);
console.log(a);
选项:
A: [1,2,3]
B: [1,5,3]
C: 报错
D: undefined
答案: 【 报错

11、单选题:
下列箭头函数书写正确的是
选项:
A: 0–{}
B: a,b => {}
C: _ =>
D: caller
答案: 【 _ =>

12、单选题:
对JS构造函数,可以在其( )属性中添加方法:
选项:
A: __prototype__
B: prototype
C: __proto__
D: proto
答案: 【 prototype

13、单选题:
关于call和apply的说法,错误的是
选项:
A: call的第一个参数和apply的第一个参数一样
B: call的第二个参数到最后一个参数是函数本身的参数
C: 关于第二个参数,call可以写arguments,而apply则不可以
D: call和apply的功能是一样的,唯一的区别是格式上的区别
答案: 【 关于第二个参数,call可以写arguments,而apply则不可以

14、单选题:
有代码:
function foo(){
var a=10;
return function(){ console.log(a++) }
}
foo()();
运行之后,会在控制台中打印()。
选项:
A: 10
B: 11
C: 函数体
D: 报错
答案: 【 10

15、单选题:
执行下列程序的结果是()。
function fn3() { arguments.callee.play(); }
fn3.play=function () { console.log(“aaa”); };
fn3();
选项:
A: 报错
B: 空值
C: play
D: “aaa”
答案: 【 “aaa”

16、单选题:
下列代码的执行结果为()。
function fn(){ console.log( this ) };
fn();
选项:
A: fn
B: undefined
C: window
D: windows
答案: 【 window

17、单选题:
下列代码的执行结果为( )。
var fn = “hello”;
fn();
function fn(){ console.log(“world”)};
选项:
A: “hello”
B: “world”
C: undefined
D: fn is not function
答案: 【 fn is not function

18、单选题:
执行下列程序的结果会是( )。
var obj1=(function(){
return { a:1,
b:2,
fun2:function(){ console.log(this.a+this.b); }
}
})();
obj1.fun2();
选项:
A: 3
B: 4
C: 1
D: 2
答案: 【 3

19、单选题:
下面关于函数参数的描述错误的是()。
选项:
A: arguments.length可获取用户调用函数时传递的参数数量
B: 函数的参数是外界传递给函数的值
C: 无参函数名后的小括号可以省略
D: arguments对象可获取函数调用时传递的实参
答案: 【 无参函数名后的小括号可以省略

20、单选题:
下面关于函数的描述错误的是()。
选项:
A: 函数可提高代码的复用性,降低程序的维护难度
B: 参数是外界传递给函数的值,多个之间使用分号隔开
C: 定义函数的关键字是function
D: 函数名不能以数字开头
答案: 【 参数是外界传递给函数的值,多个之间使用分号隔开

21、单选题:
以下不能作为函数名称的是()。
选项:
A: getMin
B: show
C: const
D: it_in

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注