获取页面所有属性并生成html6,JavaScript基础练习题(三)

  • Post author:
  • Post category:java


一、单选题

1.以下关于Javascript中事件的描述中,不正确的是

A click——鼠标单击事件

B focus——获取焦点事件

C mouseover——鼠标指针移动到事件源对象上时触发的事件

D change——选择字段时触发的事件

正确答案: D

解析:change事件为input内容发生改变时触发的事件。根据input的type属性值不同,具体的触发时机也不尽相同

2.下列哪些不是es6中新增的:

A Objec.assign

B Array.from

C forEach

D for of 循环

正确答案: C

解析:forEach 是es5的

3.阻止浏览器默认行为,使用以下哪个方法

A stopPropagation()

B preventDefault()

C cancelBubble = false

D return true

正确答案: B

4.下列代码执行结果为真的是

A 1<2 && “5”!=5

B 2>21 || “5”==5

C 2>21 && 5==5

D 2>=2*1 && “5”===5

正确答案: B

5.下面可以获取浏览器在卷动后,隐藏的文档部分的高度的属性是

A window.body.scrollTop

B document.body.scrollTop;

C document.scrolTop;

D documentElement.body.scrollTop

正确答案: B

6.在HTML页面中,下列选项不属于鼠标相关事件的是

A onclick

B onmouseover

C onmousedown

D onchange

正确答案: D

7.在HTML页面中,下列选项不属于键盘相关事件的是

A onkeyup

B onkeydown

C oncontextmenu

D onkeypress

正确答案: C

8.分析下面的JavaScript代码段,输出结果是 var a=15.59; document.write(Math.round(a))

A 15

B 16

C 15.5

D 15.4

正确答案: B

9.下面哪个方法可以匹配数组是否含有某个值

A sort()

B push()

C join()

D indexOf()

正确答案: D

10.以下ES6字符串拼接中最推荐使用的是以下哪种写法?

A 今天天气+很好

B 今天天气${“很好”}

C 今天天气+” 很 好 ” ; D ‘ 今 天 天 气 + {“很好”}; D `今天天气+”很好”;D‘今天天气+{很好} `;

正确答案: B

11.以下属于正则的方法有

A text()

B replace()

C test()

D match()

正确答案: C

解析:该方法用于检测参数字符串是否与正则表达式匹配

12.回车键的keyCode值是 ?

A 12

B 13

C 32

D 33

正确答案: B

13.以下哪些属性不是事件对象event的属性

A offsetX

B clientX

C offsetLeft

D target

正确答案: C

解析:C、实时获取元素针对于offsetParent的left坐标

14.0.1+0.7 == 0.8 (0.1 + 0.7 计算结果是浮点数)

A true

B false

C Infinity

D NaN

正确答案: B

解析:由于计算机存储数字的特点,导致浮点数的计算存在误差。0.1+0.7 === 0.7999999999999999所以结果为false

15.以下获取事件对象正确的方式是 :

A function fn(){ window.event }

B obox.onclick = function( ){ e }

C obox.onclick = function (event){ var evt = event || window.event }

D function fn( e ){ e }

正确答案: C

解析:时间对象需要兼容

16.以下哪个事件不存在

A onclick

B onblur

C onlook

D oninput

正确答案: C

17.“hello”.repeat(3)的执行结果是

A hello

B hellooo

C helloooo

D hellohellohello

正确答案: D

解析:repeat()的功能是将字符串重复参数指定的次数

18.下列代码的执行结果是 var arr = [1,11,2,22,3,4]; arr.sort(); 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 报错

正确答案: A

解析:arr.sort();直接用,不能对超过10以上的数字排序,所以会得:1,11,2,22,3,4

19.在HTML页面中包含如下所示代码,则编写Javascript函数判断是否按下键盘上的回车键正确的编码是 (回车键的键盘码是13)

A function myKeyDown(){ if (window.keyCode13){ alert(“你按下了回车键”)}};

B function myKeyDown(){ if (document.keyCode13){ alert(“你按下了回车键”);}}

C function myKeyDown(){ if (event.keyCode13){ alert(“你按下了回车键”)}}

D function myKeyDown(){ if (keyCode13){ alert(“你按下了回车键”)}}

正确答案: C

解析:keyCode是event对象下面的属性,keycode等于13说明按下了回车键

20.下列哪个不是Math对象的方法

A sort()

B floor()

C random()

D abs()

正确答案: A

解析:sort()是数组的方法

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;iif(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;ifor(var j=0;jif(document.forms[i].elements[j].type==“text”) document.forms[i].elements[j].value=””;

}

}

正确答案: D

解析:

for(var i=0;ifor(var j=0;jif(document.forms[i].elements[j].type==“text”)

document.forms[i].elements[j].value=””; }

}找到所有form里面所有的text文本框,把value设置为空。

23.下列代码的执行结果是( )

var i = 12;

var sum =i++ + ++i + ++i2 + 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 + ++i2 + i– + i–;document.write(sum + ” ” + i);

考察一元运算符的知识:

++: 自增1(在原来的数值基础上加1)

–:自减1(在原来的数值基础上加1)

前置:返回值:返回值是减1(加1)之后的值 (前置就是运算符在前面 ++i)

后置:返回值:返回值是没减1(加1)之前的值(后置就是运算符在前面 i++)

有这个基础后,把式子从左到右算一次即可

24.如果今天是2006年5月14日,分析下列JavaScript代码运行后,在网页上显示()

var now = new Date();

var year = now.getFullYear();

var month = now.getMonth();

var date = now.getDate();

document.write(year+” “+month+” “+date);

A 2006 05 14

B 2006 5 14

C 2006 04 14

D 2006 4 14

正确答案: D

25.下列代码输出的结果是

var y = 1;

var x = y = typeof x;

console.log(x);

A undefined

B 1

C y

D 报错

正确答案: A

解析:在typeof x时,x只是被声明,但是没有被赋值

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

27.字符串的match方法的语法格式为:str.match(searchvalue) 或者 str.match(regexp),下列说法错误的是()注:RegExp是正则的构造函数

A 如果regexp参数不是RegExp对象,则需要首先把它传递给RegExp构造函数,将其转换为RegExp对象

B 函数的返回值存放匹配结果的数组。该数组的内容依赖于regexp是否具有全局标志g

C 全局匹配返回的数组的内容与非全局匹配返回的数组内容是一样的

D 代码’1abc2qwe3’.match(/\d+/g); 将找出字符串中的所有数字

正确答案: C

解析:全局匹配时,返回所有与regexp匹配的内容,非全局匹配时,第一个元素为匹配内容,后面为分组捕获的内容

28.下列关于window.onload事件的相关说法正确的是

A window.onload事件可能触发多次

B window.onload事件是指的 DOM结构加载完成之后

C window.onload 事件可以绑定多个处理函数,并且都会触发

D window.onload 事件在页面所有的内容都加载完毕之后才触发

正确答案: D

解析:在文档装载完成后会触发 load 事件。此时,在文档中的所有对象都在DOM中,所有图片,脚本,链接以及sub-frames都完成了装载。

29.有如下代码: var arr = new Array(9); arr[0]=1; arr[2]=2; 该数组的length属性值为

A 2

B 10

C 8

D 9

正确答案: D

解析:因为new Array(9)表示数组共有9项 , arr[n] = xxx 表示对数组某一项赋值。

30.下列代码输出的结果是

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(){};

正确答案: B

解析:声明提升,var 要比 function 先提升。

二、多选题(不定项选择)(共20题,每题2分)

得分:2.0分

1.下面表示定时器的有

A keyframes

B setInterval

C setTimeOut

D animate

正确答案: B,C

2.正则对象的方法包括

A test();

B index()

C exec()

D match()

正确答案: A,C

解析:正则的对象方法只有2个,其他属于字符串的方法.

exec() 找到了返回数组,找不到返回null.test() true或false.

3.以下对严格模式的说法正确的是

A 使用”use strict”定义严格模式

B 严格模式可以定义在函数的最顶端或程序的最顶端

C 在严格模式下 在变量a 没有声明时 a = 10 ; 这样的赋值会报错

D 严格模式执行效率更高

正确答案: A,B,C,D

4.事件中会产生哪些兼容问题

A 事件对象的创建

B 事件冒泡

C 浏览器的默认行为

D 事件委托中事件源的获取

正确答案: A,B,C,D

5.将字符串转成大写和小写的方法是

A str.toSmallCase()

B str.toLowerCase()

C str.toUpperCase()

D str.toUpperChars()

正确答案: B,C

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

7.var a=“10”,以下能实现字符串转成数字的是

A a*1

B Number(a)

C a-0

D a+0

正确答案: A,B,C

8.下面哪些是全局方法

A prompt()

B match()

C alert()

D confirm()

正确答案: A,C,D

9.下面哪些属于数组的方法

A sort( )

B push()

C indexOf()

D join()

正确答案: A,B,C,D

10.下面哪个不是数组的方法

A map()

B split()

C filter()

D test ()

正确答案: B,D

解析:split 是字符串方法 test 是正则方法

11.更改h1标签内容可以用以下哪个属性

A innerText

B valueof

C innerHTML

D value

正确答案: A,C

12.字符串的操作方法有

A indexOf

B lastIndexOf

C charAt

D charCodeAt

正确答案: A,B,C,D

解析:

String.fromCodePoint(97) ===> a

String.fromCharCode( 65) ===> A

13.事件对象中可以阻止事件冒泡的方法或属性为

A e.stopPropagation()

B e.preventDefault()

C e.cancelBubble = true

D event.returnValue = false

正确答案: A,C

解析:B、D为阻止浏览器默认行为的

14.给元素添加事件监听正确的方法有

A oDiv.onclick()

B oDiv.attachEvent()

C oDiv.addEventListener()

D oDiv.detachEvent()

正确答案: B,C

解析:

A的正确用法为oDiv.onclick = function () {}

D为IE8接触事件绑定的方法

15.假设有一输入框的DOM名称为otxt,以下能获取输入框值(value)的是

A otxt.getAttribute(“value”)

B otxt.value

C otxt[“value”]

D otxt.getValue()

正确答案: A,B,C

解析:getAttribute()是获取属性值的方法,因为value就是属性值,otxt.value和otxt[“value”]都可以获取属性值,所以ABC正确,D选项,没有getValue()方法,错误

16.如何阻止事件冒泡

A cancelBubble

B return true

C event.preventDefault

D event.stopPropagation()

正确答案: A,D

解析:浏览器有一些默认行为,比如右键菜单,点击跳转,文字选中效果,拖拽鬼影等,如果出现莫名其妙的问题,也可能是默认行为导致的,阻止默认行为:event.preventDefault和return false,阻止冒泡:cancelBubble和event.stopPropagation();。

17.下面是正则中有意义的简写的有 :

A \d

B \w

C \s

D \S

正确答案: A,B,C,D

18.关于 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之中的方法

得分:2.0分

19.ES6中新增的声明变量的关键字有

A function

B let

C const

D str

正确答案: B,C

解析:let用来声明变量

const用来声明常量

20.解构赋值可以做到以下哪些事

A 一次性可以定义多个变量

B 可以作用在函数的传参上,以对象的方式传递,参数顺序也无须保持一致

C 可以轻松实现两个数的交换

D 可以实现一个函数返回多个结果

正确答案: A,B,C,D