二阶段第三周考试
HTML5
一、单选题(共30题,每题2分)
得分:2.0分
1.
关于正则表达式声明6位数字的邮编,以下代码正确的是
A
var reg = /\d6/;
B
var reg = \d{6};
C
var reg = /\d{6}/;
D
var reg = new RegExp("\d{6}");
正确答案: C
解析:
D选项错误,正确写法应为 var reg = new RegExp("\d{6}")
得分:2.0分
2.
以下关于Javascript中事件的描述中,不正确的是
A
click——鼠标单击事件
B
focus——获取焦点事件
C
mouseover——鼠标指针移动到事件源对象上时触发的事件
D
change——选择字段时触发的事件
正确答案: D
解析:
change事件为input内容发生改变时触发的事件。
根据input的type属性值不同,具体的触发时机也不尽相同
得分:2.0分
3.
下面可以获取浏览器在卷动后,隐藏的文档部分的高度的属性是
A
window.body.scrollTop
B
document.body.scrollTop;
C
document.scrolTop;
D
documentElement.body.scrollTop
正确答案: B
解析:
基础属性
得分:2.0分
4.
下列对的对常量的描述或定义不对的是
A
常量名只能用大写
B
const PI = 3.11;
C
const pi = 3.14
D
常量定义后不能被修改
正确答案: A
解析:
得分:2.0分
5.
在HTML页面中,下列选项不属于鼠标相关事件的是
A
onclick
B
onmouseover
C
onmousedown
D
onchange
正确答案: D
解析:
得分:2.0分
6.
下面哪个事件属性可以获取鼠标光标到页面可视区(浏览器边框)水平坐标
A
clientX
B
offsetX
C
pageX
D
screenX
正确答案: A
解析:
基本属性
得分:2.0分
7.
JavaScript是运行在哪里的脚本语言
A
server端(服务器端)
B
web端(浏览器端)
C
在服务器运行后,把结果返回到客服端
D
在客户端运行后,把结果返回到服务器
正确答案: B
解析:
js就是运行在浏览器中的脚本语言。
得分:0.0分
8.
分析下面的JavaScript代码段,输出结果是 var a=15.59; document.write(Math.round(a))
A
15
B
16
C
15.5
D
15.4
正确答案: B
解析:
得分:2.0分
9.
下面哪个方法可以匹配数组是否含有某个值
A
sort()
B
push()
C
join()
D
indexOf()
正确答案: D
解析:
得分:2.0分
10.
以下声明变量错误的是
A
var a;
B
let a;
C
const a;
D
function a;
正确答案: D
解析:
A为ES5声明变量,B、C为ES6声明变量/常量方式
D为错误选项
得分:2.0分
11.
以下选项中哪个是正则的量词 :
A
100
B
num
C
+
D
.
正确答案: C
解析:
+代表其前边的字符重复1~无限多次
得分:2.0分
12.
以下能获取到所有子节点(包括文字节点)的属性是 :
A
firstElementChild
B
children
C
childNodes
D
attributes
正确答案: C
解析:
A、获取第一个元素节点
B、获取所有元素子节点
C、获取所有子节点,包含文本节点
D、获取所有属性节点
得分:2.0分
13.
以下哪些属性不是事件对象event的属性
A
offsetX
B
clientX
C
offsetLeft
D
target
正确答案: C
解析:
C、实时获取元素针对于offsetParent的left坐标
得分:2.0分
14.
以下哪个事件不存在
A
onclick
B
onblur
C
onlook
D
oninput
正确答案: C
解析:
A、点击事件
B、焦点离开事件
D、输入框输入事件
得分:2.0分
15.
下列代码的执行结果为 function fn(){ console.log( this ) }; fn();
A
fn
B
undefined
C
window
D
windows
正确答案: C
解析:
直接调用函数,其内部的this指向全局对象window
得分:2.0分
16.
以下正则中不可以验证数字的是
A
/[0-9]/
B
/\D/
C
/0|1|2|3|4|5|6|7|8|9/
D
/\d/
正确答案: B
解析:
\D匹配的是非数字
得分:2.0分
17.
html文档中怎么区分节点对象的节点类型
A
typeof
B
type
C
nodeType
D
nodeName
正确答案: C
解析:
nodeType 属性返回以数字值返回指定节点的节点类型。
如果节点是元素节点,则 nodeType 属性将返回 1。
如果节点是属性节点,则 nodeType 属性将返回 2。
如果是文本内容,则 nodeType 属性将返回 3。
得分:2.0分
18.
下列代码的执行结果是 var result = 12 + 2 + “12”- 2 * 2; document.write(result);
A
1221222
B
14124
C
1408
D
2820
正确答案: C
解析:
var result = 12 + 2 + “12”- 2 * 2;
看等号右边,从左到右运算,
12+2等于14,
14+“12”等于“1412”(字符串拼接)
“1412”- 4 等于1408(减号会进行隐式转换)
得分:2.0分
19.
下列哪个不是Math对象的方法
A
sort()
B
floor()
C
random()
D
abs()
正确答案: A
解析:
sort()是数组的方法
得分:2.0分
20.
使用 JavaScript 向网页中输出
hello
,以下代码中可行的是A
B
C
D
正确答案: B
解析:
document.write()方法可以打印节点到页面显示,参数是字符串,如有标签需要写完整。document.write(“
hello
”);正确得分:2.0分
21.
有var obj ={ name:”王大锤”, skill:”逗比”, logo:”日和漫画”} 使用循环将对象中的属性值依次取出并打印正确的是
A
for(var i=0; i<obj.length; i++){ console.log(obj[i]); }
B
for(var i=0; i<obj.length; i++){ console.log(obj.index); }
C
for(var attr in obj){ console.log(obj[attr]) }
D
return
正确答案: C
解析:
对象没有长度length,所以不能用for循环,需要用for in遍历。故A B错误,C正确
得分:2.0分
22.
下面的 JavaScript 语句中,哪个实现检索当前页面中的表单元素中的所有文本框,并将它们全部清空
A
for(var i=0;i< form1.elements.length;i++) {
if(form1.elements[i].type==“text”) form1.elements[i].value="";
}
B
for(var i=0;i<document.forms.length;i++) {
if(forms[0].elements[i].type==“text”) forms[0].elements[i].value="";
}
C
if(document.form.elements.type==“text”) form.elements[i].value=""
D
for(var i=0;i<document.forms.length; i++){
for(var j=0;j<document.forms[i].elements.length; j++){
if(document.forms[i].elements[j].type=="text") document.forms[i].elements[j].value="";
}
}
正确答案: D
解析:
for(var i=0;i<document.forms.length; i++){
for(var j=0;j<document.forms[i].elements.length; j++){
if(document.forms[i].elements[j].type==“text”)
document.forms[i].elements[j].value=""; }
}
找到所有form里面所有的text文本框,把value设置为空。
得分:2.0分
23.
下列代码的执行结果是( )
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
正确答案: A
解析:
var i = 12; var sum =i++ + ++i + ++i*2 + i-- + i–;document.write(sum + " " + i);
考察一元运算符的知识:
++: 自增1(在原来的数值基础上加1)
–:自减1(在原来的数值基础上加1)
前置:返回值:返回值是减1(加1)之后的值 (前置就是运算符在前面 ++i)
后置:返回值:返回值是没减1(加1)之前的值(后置就是运算符在前面 i++)
有这个基础后,把式子从左到右算一次即可
得分:2.0分
24.
下列代码的执行结果为
function fn(){
console.log("world")
};
fn();
var fn = “hello”;
A
“hello”
B
“world”
C
undefined
D
fn is not function
正确答案: B
解析:
var fn被提升到最用于最开始的位置
函数fn被提升
此时fn是函数,可以被执行,打印world
最后才给fn赋值为hello
得分:2.0分
25.
下列代码输出的结果是
var y = 1;
var x = y = typeof x;
console.log(x);
A
undefined
B
1
C
y
D
报错
正确答案: A
解析:
在typeof x时,x只是被声明,但是没有被赋值
得分:2.0分
26.
执行下面程序片段的效果是
if( window.event.srcElement.tagName==‘A’&&window.event.shiftKey ) {
window.event.returnValue==false;
}
A
在IE中,点击’千锋培训’超链接 总能 打开’千锋培训’网站
B
在IE中,点击’千锋培训’超链接 不能 打开’千锋培训’网站
C
在IE中,点击’千锋培训’超链接 能 打开’千锋培训’网站,按下shift键点击’千锋培训’超链接 不能 打开’千锋培训’网站
D
在IE中,点击’千锋培训’超链接 不能 打开’千锋培训’网站,按下shift键点击’千锋培训’超链接 能 打开’千锋培训’网站
正确答案: C
解析:
C
得分:2.0分
27.
下列关于事件监听器的说法,错误的是
A
addEventListener第三个参数为false时,表示事件不会触发
B
IE8以下使用attachEvent添加事件监听器
C
addEventListener同一个事件可以绑定多个函数
D
IE8以下浏览器使用detachEvent移除监听器.
正确答案: A
解析:
addEventListener()的第三个参数为false时,代表冒泡阶段
得分:2.0分
28.
下列对事件相关的描述,错误的是
A
文本输入框输入文本结束后会触发onchange事件
B
在表单提交时会触发 onsubmit事件
C
点击文本输入框会多次触发onblur事件
D
onmouseover和onmouseenter事件有一定区别
正确答案: C
解析:
onblur是焦点离开时触发的事件,点击文本框触发的是onclick事件和onfocus事件
得分:2.0分
29.
下列代码的执行结果正确的是
var i = 10;
setTimeout(function(){
i--;
i = i *2;
},30000)
document.write(i)
A
10
B
9
C
18
D
20
正确答案: A
解析:
定时器是异步的,先执行document.write(i),得到全局变量i=10
得分:2.0分
30.
下列代码的执行结果是
var num1 = 1&&2;
var num2 = true||false;
var result = num1*num2+3;
document.write(result);
A
0
B
4
C
5
D
NaN
正确答案: C
解析:
var num1 = 1&&2; var num2 = true||false; var result = num1*num2+3 document.write(result);
分开运算:
var num1 = 1&&2;结果为2
var num2 = true||false;结果为true
var result = num1num2+3为 2true+3(true会隐式转换为1),结果为5
二、多选题(不定项选择)(共20题,每题2分)
得分:2.0分
1.
JavaScript里事件的三个阶段是
A
捕获
B
处于目标阶段
C
冒泡阶段
D
代理阶段
正确答案: A,B,C
解析:
得分:2.0分
2.
实现一个元素的拖拽,至少需要那几个事件,请选择
A
onmousedown
B
onmousemove
C
onmouseup
D
onmouseover
正确答案: A,B,C
解析:
得分:2.0分
3.
正则对象的方法包括
A
test();
B
index()
C
exec()
D
match()
正确答案: A,C
解析:
正则的对象方法只有2个,其他属于字符串的方法.
exec() 找到了返回数组,找不到返回null.
test() true或false.
得分:2.0分
4.
以下对严格模式的说法正确的是
A
使用"use strict"定义严格模式
B
严格模式可以定义在函数的最顶端或程序的最顶端
C
在严格模式下 在变量a 没有声明时 a = 10 ; 这样的赋值会报错
D
严格模式执行效率更高
正确答案: A,B,C,D
解析:
111
得分:2.0分
5.
对事件委托的说法正确的是
A
所有的事件都可以实现事件委托;
B
减少了事件绑定浏览器重绘的次数,提高了程序的执行效率;
C
减少事件的冗余绑定,节约了事件资源。
D
可以解决动态添加的元素节点无法绑定事件的问题;
正确答案: B,C,D
解析:
33
得分:0.0分
6.
以下表达式能生成1-10(包含1、10)间随机数的是
A
Math.floor(Math.random()*9)
B
Math.ceil(Math.random()*10)
C
Math.floor(Math.random()*10)+1
D
Math.floor(Math.random()*10)
正确答案: B,C
解析:
得分:2.0分
7.
下面哪些是全局方法
A
prompt()
B
match()
C
alert()
D
confirm()
正确答案: A,C,D
解析:
uuu
得分:2.0分
8.
下面哪些属于数组的方法
A
sort( )
B
push()
C
indexOf()
D
join()
正确答案: A,B,C,D
解析:
得分:2.0分
9.
更改h1标签内容可以用以下哪个属性
A
innerText
B
valueof
C
innerHTML
D
value
正确答案: A,C
解析:
aaa
得分:2.0分
10.
事件对象中可以阻止事件冒泡的方法或属性为
A
e.stopPropagation()
B
e.preventDefault()
C
e.cancelBubble = true
D
event.returnValue = false
正确答案: A,C
解析:
B、D为阻止浏览器默认行为的
得分:0.0分
11.
以下字符串方法支持正则表达式的有哪些
A
indexOf
B
match
C
replace
D
search
正确答案: B,C,D
解析:
字符串的一些方法是和正则一起使用比较多的,比如match()匹配、replace()替换、search()查找
得分:0.0分
12.
下面表示鼠标事件的有
A
onclick
B
onmouseover
C
onmouseout
D
onmousemove
正确答案: A,B,C,D
解析:
onchange是当内容改变时触发,触发调用函数writeIt(),该函数的功能就是将第二个文本框的内容复制给第一个文本框。
得分:2.0分
13.
下面是正则中有意义的简写的有 :
A
\d
B
\w
C
\s
D
\S
正确答案: A,B,C,D
解析:
正则表达式
得分:2.0分
14.
拖拽效果中,需要用到的事件有
A
onmousemove
B
onmousedown
C
onmouseup
D
onclick
正确答案: A,B,C
解析:
拖拽的原理:按下的时候(onmousedown)通过鼠标的坐标和盒子的offsetLeft和offsetTop计算差值offsetX和offsetY;按着盒子拖拽的过程中(onmousemove)从新用新的坐标和刚才计算的差值计算新的left和top,这是拖拽的原理。所以得 :left=ev.clientX-offsetX; top=ev.clientY-offsetY;正确答案就是A B
得分:2.0分
15.
关于 window 对象表述正确的有
A
window.open 方法 可以弹出一个新窗口
B
window.location.reload()方法可以用来刷新当前页面
C
window.location.href="a.html"的作用都是把当前页面替换成 a.html 页面
D
定义了全局变量 g;可以用 window.g 的方式来存取该变量
正确答案: A,B,C,D
解析:
全部是window之中的方法
得分:0.0分
16.
下面哪些方法不是正则的方法
A
search()
B
match ()
C
replace ( )
D
test ()
正确答案: A,B,C
解析:
ABC都是字符串方法
得分:2.0分
17.
判断str是否含有字符串"abc",以下不正确的是
A
str.repl(/abc/)!=-1
B
str.indexOf(‘abc’) >= 0
C
str==‘abc’
D
‘abc’.includes(str)
正确答案: A,C,D
解析:
A选项:字符串没有index()方法,错误;
B选项:indexOf()就是检测数组是否含有某个数的,有返回下标,没有返回-1,正确选项
C选项:str=='abc’这个是检测完全匹配的,不能检测到是否包含有,这个写法要完全匹配才正确,所以错误
D选项:字符串没有includes()方法,这个方法是数组的方法,错误
得分:2.0分
18.
ES6中新增的声明变量的关键字有
A
function
B
let
C
const
D
str
正确答案: B,C
解析:
let用来声明变量
const用来声明常量
得分:2.0分
19.
解构赋值可以做到以下哪些事
A
一次性可以定义多个变量
B
可以作用在函数的传参上,以对象的方式传递,参数顺序也无须保持一致
C
可以轻松实现两个数的交换
D
可以实现一个函数返回多个结果
正确答案: A,B,C,D
解析:
122
得分:2.0分
20.
下列有关事件对象之中属性的描述,正确的有
A
event.clientX、event.clientY:获取鼠标相对于浏览器可视窗口的x轴值和y轴值
B
event.pageX、event.pageY类似于event.clientX、event.clientY,但它们使用的是文档坐标 (相对于文档的x轴距离和y轴距离)而非窗口坐标
C
event.offsetX、event.offsetY:鼠标相对于用户显示器屏幕左上角的X,Y坐标
D
event.screenX、event.screenY:鼠标相对于事件源元素(srcElement)的X,Y坐标
正确答案: A,B
解析:
三大家族的知识要熟悉