40、把一个数组从开头添加的方法是( ) A、shift B、unshift C、pop D、push
41、创建一个Date对象,值是1998年1月10日,正确的写法是( ) A、new Date(1998, 1, 10); B、new Date(0, 10, 1998); C、new Date(1, 10, 1998); D、new Date(1998, 0, 10);
42、以下定义数组语法错误的是( )
A、var array =[]; B、var array = new Array(); C、var array = new Array(10); D、var array = {10,20,30};
43、var primes = [2,1,,3,7,]; primes.length 的返回值是什么( ) A、3 B、4 C、5 D、6
44、var array = [1,2,3,4,5,6]; array.splice(2,3); alert(array);
以上代码运行的正确结果是( )
A、1,2,6 B、4,5,6 C、1,2,5,6 D、1,2,3
45、数组 var arr = [“a”,”b”,”c”,”d”,”e”] ; arr.slice(2,4) ;alert(arr) 出( )
A、b,c,d B、c,d C、c,d,e D、a,b,c,d,e
46、var x = ['Hello']; alert(x*b) 的结果是() A、['Hello'] B、undefined C、null D、NAN
47、下面哪个选项实现了,复制一个数组得到新的数组,原数组的值不变 ( )
A、 var newArray = oldArray;
B、var newArray = new Array(oldArray); C、var newArray = [oldArray];
D、var newArray = oldArray.slice(0); 48、
var a = new Array(\for(var i = 0;i < a.length;i ++ ) { document.write(a[i]+ \}
输出结果是( )
A、100 2111 41111 B、0 1 2 C、1 2 3 D、1 2 4
49、JavaScript对象类型中,哪个能够在一个变量中存多个值( )
弹框应弹A、function B、vector C、list D、array
50、执行下列代码之后,数组myArr的值是( )var myArr = [1,2,3,4,5];myArr.shift(); A、[1,2,3,4,5] B、[2,3,4,5] C、 [] D、[1,2,3,4]
51、增加一个新值到数组的最后,下面哪一个选项是正确的? A、arr[value] = length;
B、arr[arr.length()] = value; C、arr[arr.length] = value; D、arr.length = value;
52、数组下标出界,将返回( ) A、缺省值,如0
B、给浏览器返回错误
C、数组中第一个或最后一个值 D、undefined
53、这个循环不对,问题在哪里( ) var foos = ['a', 'b', 'c' , 'd', 'e']; var bars = ['x', 'y', 'z'];
for (var i = 0; i < foos.length; i++) {
var foo = foos[i];
for (var i = 0; i < bars.length; i++) {
var bar = bars[i];
/* some code using `bar` */ } }
A、内循环重置了外面的for循环,每次都设了一个固定值,导致了无限循环 B、 外循环在第一次循环后结束,因为很不幸这是ECMAScript规范的一个bug C、未捕获的语法错误
D、没有bug,循环正确运行
54、数组对象的length属性一直是( ) A、等于最后一个对象下标数加一 B、等于最后一个对象下标数减一 C、等于最后一个对象下标数 D、等于这个数组对象属性的数量
55、以下关于Array数组对象的说法不正确的是( )
A、对数组里数据的排序可以用sort函数,如果排序效果非预期, 可以给sort函数加一个排序函数的参数 B、reverse用于对数组数据的倒序排列
C、向数组的最后位置加一个新元素,可以用pop方法 D、unshift方法用于向数组添加第一个元素
56、关于Javascript中数组的说法中,不正确的是() A、数组的长度必须在创建时给定,之后便不能改变 B、由于数组是对象,因此创建数组需要使用new运算符 C、数组内元素的类型可以不同
D、数组可以在声明的同时进行初始化
57、下列运算符,哪个是用来判断一个对象是不是数组( ) A、typeof B、break C、instanceof D、switch
58、Javascript中, 以下代码运行后变量y的值是: ( )
var x = [‘abcde’ , 123456]; var y = typeof typeof x[1]; A、function B、object C、number D、string
59、var a = []; 以下向数组添加元素的方式正确的是( ) A、a.pop(“zero”); B、a.push(“one”); C、a.join(“two”); D、a.shift(“three”);
60.var undefs = [,,]; undefs.length 的返回值是( ) A、0 B、1 C、2 D、3
二、填空题(每空1分,共28分)
1、把JavaScript加入到HTML中有 和 两种方法。 2、JavaScript中的循环语句有三种 , , 。 4、表达式”123abc”+123的计算结果是 。
5、减号除了可以做减法运算,还能将字符串类型 。 6、表达式(Null==undefined)&&(2<3)的值为 。
8、数组创建的两种方式是 、 。 9、若有一个数组名为arr,如何获取它的长度: 。
10、For循环的三个表达式分别代表 、 、 。
11、for(var i=0; i<10; i++){} alert(i);该javascript代码运行的结果是 。 12、函数的参数分为 、 两种。 13、函数用 关键字使函数产生一个返回值。 14、程序的三大结构是 、 、 15、Math对象中对一个数进行向上舍入取整使用 方法。
16、生成一个100~200随机整数的表达式是 。 17、var t = ‘abc’, substr(-1,1) 可以获取 。 18、字符串里根据指定字符切割字符串的方法是 。 19、window对象中定时器有 、 。 20、获取一个日期对象的毫秒数使用 方法。
三、编程实现如下功能(每小题3分,共12分)
1、使用循环结构打印如下图形
123456789 22 8 3 3 7 4 4 6 5 5 6 4 6 7 3 7 82 8
123456789
2、 把任意一个整数分解成多个质因数之积。
在文本框中任意输入一个整数,单击“分解”按钮,在页面中显示如下等式。 例如: 90=2*3*3*5 80=2*2*2*2*5 150=2*3*5*5
3、使用Dom操作完成增删div结点。 默认显示一个红色div、一个绿色div。
点击增加按钮,则在两个div中间添加一个蓝色div; 点击删除按钮,则删除添加的那个蓝色div。
4、排序算法
随机产生20个150~250之间的整数,使用多种排序算法,完成降序排序。