CS1801 班JS阶段考试笔试题
班级:_________ 姓名:_____________ 成绩__________ 一. 选择题(每题2分,共40分)请将答案填写在答题区
-1.获取节点对象的方式错误的是()
A.getElementById()
B.getElementsByTagName()
C.getElementByClassName()
D.getElementsByName()
-2.下列代码的执行结果是()
document.write(num + " ");
var num = 123;
document.write(num);
A.报错
B. 123 123
C. undeinfed undefined
D. undefined 123
-3.下列代码的执行结果是()
var a = 123;
fn(a);
function fn(a){a = 456;}
document.write(a);
A. 456
B. 123
C. 报错
D.undefined
-4. html文档中怎么区分节点对象的节点类型()
A.typeof
B. type
C. nodeType
D. nodeName
-5. 下列对象或数组的创建方式错误的是()
A.var obj = {};
B. var obj = {[ ]}
C. var obj = [{ }]
D. var obj = {age:123} -6. 下列代码的执行结果是()
var arr = [1,11,2,22,3,4];
arr.sort(); //只比较ascii码
document.write(arr);
A. 1,11,2,22,3,4
B. 1,2,3,4,11,22
C. 22,11,4,3,2,1
D. 报错
-7 下列代码的执行结果是()
var result = 12 + 2 + "12"- 2 * 2;
document.write(result);
A. 1221222
B. 14124
C. 1408
D. 2820
-8 下列代码的执行结果是()
var i = 12;
var sum =i++ + ++i + ++i*2 + i-- + i--;
document.write(sum + " " + i);
A. 85 13
B. 84 12
C. 83 11
D. 85 14
-9 数组中哪个方法不可以实现删除数组本身中的数据()
A. shift()
B. pop()
C. splice()
D.slice()
E. 没有正确选项-10 下列代码的执行结果是()
var str = "abcdefagd";
var index = str.indexOf("ad");
document.write(index)
A. 0
B. 3
C. -1
D. 7
-11 下列代码的执行结果是()
for(var i = 0;i<10;i++){}
document.write(i);
A. 10
B. 11
C. 9
D. 死循环
-12 下列哪个不是javascript中的数据类型()
A.string
B.number
C. undefined
D.num
-13 下列哪个不是javascript中的关键字或保留字()
A.class
B. var
C. link
D. instanceof
-14下列代码的执行结果是()
var date = new Date(2016,12,11);//Data的参数是数值,那么就从0开始document.write(date.getFullYear() + " ");
document.write(date.getMonth());
A. 2016 12
B. 2017 11
C. 2017 0
D. 2016 0
-15下列哪个不是Math对象的属性()
A.sort
B. floor
C. random
D. abs
-16 下列代码的执行结果肯定不会是()
document.write(parseInt(Math.random()*3));
A. 1
B. 0
C. 2
D. 3
-17 下列代码的执行结果正确的是()
var i = 10;
setTimeout(function(){
i--;
i = i *2;
},30000)
document.write(i)
A. 10
B. 9
C. 18
D. 20
-18下列代码的执行结果是()
var num = 123;
var obj = {age:12}
function change(num){
num--;
obj.age--;
}
change(num);
document.write(num + " " + obj.age);
A. 123 11
B. 122 11
C. 122 12
D. 123 12; -19下列代码的执行结果是()
var num1 = 1&&2;
var num2 = true||false;
2 * 1+3
var result = num1*num2+3
document.write(result);
A. 0
B. 4 C .5 D NaN
-20 下列代码的执行结果是()
document.write(parseInt(null) + Number(null) + "1");
Number(undefined) NaN
A.NaN
B. 0NaN1
C. 01
D. NaN1
选择题答案填写区:
二、不定项选择题(每题 2 分,共 20 分)
1. 声明一个对象,给它加上name 属性和show 方法显示其name 值,以下代码中正确的是()
A. var obj = [name:"zhangsan",show:function(){alert(name);}];
B. var obj = {name:"zhangsan",show:”alert(https://www.wendangku.net/doc/423582625.html,)”};
C. var obj = {name:"zhangsan",show:function(){alert(name);}};
D. var obj = {name:"zhangsan",show:function(){alert(https://www.wendangku.net/doc/423582625.html,);}};
2. 以下关于 Array 数组对象的说法不正确的是()
A. 对数组里数据的排序可以用sort 函数,如果排序效果非预期,可以给sort 函数加一个排序函数的参数
B. reverse 用于对数组数据的倒序排列
C. 向数组的最后位置加一个新元素,可以用pop 方法
D. unshift 方法用于向数组删除第一个元素
3. 要将页面的状态栏中显示“已经选中该文本框”,下列JavaScript 语句正确的是()
A. window.status="已经选中该文本框"
B. document.status="已经选中该文本框"
C. window.screen="已经选中该文本框"
D. document.screen="已经选中该文本框"
4. 点击页面的按钮,使之打开一个新窗口,加载一个网页,以下JavaScript 代码中可行的是()
A.
B.
C.
D.
5.使用JavaScript 向网页中输出
A.
B.
C.
D.
6. 分析下面的代码:
以下说法中正确的是(CD )
A. 在页面的第二个文本框中输入内容后,当鼠标离开第二个文本框时,第一个文本框的内容不变
B. 在页面的第一个文本框中输入内容后,当鼠标离开第一个文本框时,将在第二个文本框中复制第一个文本框的内容
C. 在页面的第二个文本框中输入内容后,当鼠标离开第二个文本框时,将在第一个文本框中复制第二个文本框的内容
D. 在页面的第一个文本框中输入内容后,当鼠标离开第一个文本框时,第二个文本框的内容不变
7.下面的JavaScript 语句中,()实现检索当前页面中的表单元素中的所有文本框,并将它们全部清空
8. 在表单(form1)中有一个文本框元素(fname),用于输入电话号码,格式如:010-********,要求前3 位是010,紧接一个“-”,后面是8 位数字。要求在提交表单时,根据上述条
件验证该文本框中输入内容的有效性,下列语句中,()能正确实现以上功能
A. var str= form1.fname.value;
if(str.substr(0,4)!="010-" || str.substr(4).length!=8 ||
isNaN(parseFloat(str.substr(4))))
alert("无效的电话号码!");
B. var str= form1.fname.value;
if(str.substr(0,4)!="010-" && str.substr(4).length!=8 &&
isNaN(parseFloat(str.substr(4))))
alert("无效的电话号码!");
C. var str= form1.fname.value;
if(str.substr(0,3)!="010-" || str.substr(3).length!=8 ||
isNaN(parseFloat(str.substr(3))))
alert("无效的电话号码!");
D. var str= form1.fname.value;
if(str.substr(0,4)!="010-" && str.substr(4).length!=8 &&
!isNaN(parseFloat(str.substr(4))))
alert("无效的电话号码!");
9.foo 对象有att 属性,那么获取att 属性的值,以下哪些做法是可以的:()
A.foo.att
B.foo(“att”)
C.foo[“att”]
D.foo{“att”}
E.foo[“a”+”t”+”t”]
10.关于IE 的window 对象表述正确的有:()
A.window.opener 属性本身就是指向window 对象
B.window.reload()方法可以用来刷新当前页面
C.window.location=”a.html”和window.location.href=”a.html”的作用都
是把当前页面替换成a.html 页面
D.定义了全局变量g;可以用window.g 的方式来存取该变量
三.填空题(每空2分,共20分)
1.JavaScript中的循环语句有__________、___________、___________。
2.JavaScript中的3个特殊值是___________、____________、___________。
3.typeof [1,2,2] 的结果是_________________。
4.window对象中的定时器有______________、______________。
5.数组常用的方法有(写五个就行)_______________、______________、_______________、_______________、_______________。
6.字符串常用的方法有(写五个就行)_____________、______________、______________、______________、______________
6.在IE中获取事件对象event使用什么方式______________________
7.和鼠标事件相关的事件对象的属性有哪些(写5个就行)_____________、______________、____________、_____________、_______________。
8.事件的传播方式有_______________、_________________。
9.使用三目运算符计算a,b的较大值______________________________。
10.实现拖拽需要使用的三个事件是_______________,_________________,_______________
四:简答题(共10分)
1.JS的数据类型有哪些?(5分)
2.列举你知道的JS浏览器兼容问题。(每个1分, 共5分)