# js 测试 ## 选择题 1. 下面声明数组的方式错误的是 A. var arr=[] B. var arr=new Array(7) C.var arr=[{name:"asd",age:20"},{name:"asd",age:20"},{name:"asd",age:20"}] D.var arr=[{name:"asd",age:20"},{name:"asd",age:20"},0] 答案 D 2. 下面哪个不是数组的方法 A.pop B.shift C.remove D.push 答案C 3. 下面哪个遍历数组的方式是错的 A. var arr = [1, 2, 3, 4, 5, 6] for(var i = 0; i < arr.length; i++) { console.log(arr[i]) } B. var arr = ['我', '是', '谁', '我', '在', '哪'] for(var key in arr) { console.log(key) } C. var arr = ['我', '是', '谁', '我', '在', '哪'] for(var key of arr) { console.log(key) } D. var arr = [1, 2, 3, 4, 5, 6] var newArr = arr.map(function (item, idnex) { return item * item }) console.log(newArr) ## 填空题 1. 列举js事件类型(至少五个) 2. 检测NaN的数据类型结果为 3. 读代码写执行结果 ``` function C1(name) { if (name) { this.name = name; } } function C2(name) { this.name = name; } function C3(name) { this.name = name || 'join'; } C1.prototype.name = 'Tom'; C2.prototype.name = 'Tom'; C3.prototype.name = 'Tom'; alert((new C1().name) + (new C2().name) + (new C3().name)); ``` ## 简答题 1. 写一个函数实现传入一个数组 实现冒泡排序 2. 数组去重(多种方法实现) 3. 写一个函数求传入数组的平均数 4. 在一个大学的编程选修课班里,我们得到了一组参加该班级的学生数据,分别是姓名、性别、年龄和年级,接下来呢,我们要利用JavaScript的知识挑出其中所有是大一的女生的的名字哦。 学生信息如下: ('小A','女',21,'大一'), ('小B','男',23,'大三'), ('小C','男',24,'大四'), ('小D','女',21,'大一'), ('小E','女',22,'大四'), ('小F','男',21,'大一'), ('小G','女',22,'大二'), ('小H','女',20,'大三'), ('小I','女',20,'大一'), ('小J','男',20,'大三')