JavaScript练习题

一、单选题(共30题,每题2分)

1.

ajax跨域的前端解决方案是哪个

A

cors

B

jsonp

C

服务器代理

D

promise

正确答案: B

解析:

jsonp是使用标签的src属性链接资源接口,在url中传递回调函数,实现跨域请求

2.

通过哪个属性可以判定一个DOM节点的类型

A

prototype

B

nodeType

C

type

D

dim

正确答案: B

解析:

3.

下列哪个不是javascript中的关键字或保留字

A

class

B

var

C

link

D

let

正确答案: C

解析:

好好记

4.

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

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

解析:

默认按照ASCII码排序

5.

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

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

解析:

num1 = 2;

num2 = 1;

6.

下面表示鼠标移动事件的是:

A

onmouseover

B

onclick

C

onmousemove

D

onmouseout

正确答案: C

解析:

事件

7.

预测一下代码片段的输出结果:var str; alert(typeof str)

A

string

B

undefined

C

object

D

String

正确答案: B

解析:

变量定义未赋值值为undefined,undefined的数据类型就是undefined

8.

下面哪个不是js的数据类型?

A

int

B

number

C

string

D

boolean

正确答案: A

解析:

A选项是HTML注释

9.

表示表单提交事件的是:

A

onmousemove

B

onchange

C

onclick

D

onsubmit

正确答案: D

解析:

事件可以同时监听多个,也可以移出

10.

下面语句var x= -10, y; x=2*x; y=x+15;计算后y的结果是

A

15

B

10

C

-5

D

5

正确答案: C

解析:

简单计算题目

11.

阻止浏览器默认行为的方法是

A

stop()

B

break()

C

e. srcElement

D

e.preventDefault()

正确答案: D

解析:

记忆性知识点

12.

array为数组对象,下面不是数组方法的为

A

array.zero()

B

array.map()

C

array.filter()

D

array.push()

正确答案: A

解析:

记忆性知识点

13.

以下哪个单词不属于javascript关键字

A

var

B

parent

C

let

D

if

正确答案: B

解析:

记忆性题目

14.

<div class=“red">红色</div>修改里面样式变成green

A

classname="green";

B

className = "green"

C

setAttribute("classname","green")

D

setAttribute("className","green")

正确答案: B

解析:

class比较特殊   使用属性操作用class修改  直接操作用className 注意大小写

15.

获取div中style中color的正确写法是

A

div.style.color

B

div

C

color

D

style

正确答案: A

解析:

行内中的style可以直接获取   color属于style的属性 不能直接使用属性操作

16.

页面的右键菜单默认事件为()

A

onclick

B

oncontextmenu

C

onmousedown

D

onmouseover

正确答案: B

解析:

事件名称没有大写

17.

用来跟event.returnValue一起来解决兼容性问题的是()

A

preventDefault

B

true

C

event

D

false

正确答案: A

解析:

题干解决的是“阻止默认行为”的兼容性,A处理的是阻止默认行为的兼容

18.

下面哪个表示鼠标单击事件?

A

onmouseout

B

onmousemove

C

onclick

D

onmouseover

正确答案: C

解析:

单击

19.

以下代码  var t = 0 || 5,t的值是()

A

true

B

false

C

5

D

0

正确答案: C

解析:

逻辑或的应用  0位false 

20.

Event对象的 target属性表示()

A

发生事件的事件源

B

一个字符串

C

一个数组

D

以上都不对

正确答案: A

解析:

事件的发生源

21.

以下代码 var temp =parseInt("12.35b");

执行完毕后,temp的值是( )

A

12.5.3

B

12.5

C

12.5.3b

D

12

正确答案: D

解析:

取整了

22.

下列表达式运算结果为真的是

A

1<2 && “5”!=5

B

2>2*1 ||”5”==5

C

2>2*1 && 5==5

D

1<2 && ”5”===5

正确答案: B

解析:

==会做隐式转换,答案B中 ,5隐式转换为字符串后和“5”是一样的

23.

一个.php后缀的文件,可以在什么环境下执行

A

mysql数据库

B

浏览器

C

apache服务器

D

Windows系统

正确答案: C

解析:

php运行环境apache

24.

http协议的默认端口号是

A

80

B

8888

C

8080

D

3306

正确答案: A

解析:

服务器安装好之后,默认端口号是80

25.

http协议的默认端口号是多少

A

8080

B

8888

C

80

D

3306

正确答案: C

解析:

默认80 可以不用输入

26.

有语句  var x=0;   

while(      ){ 

        x+=2; 

 }   

要使while循环体执行10次,空白处的循环判定式应写为

A

x<10

B

x<=10

C

x<20 

D

x<=20 

正确答案: C

解析:

循环

27.

要实现拖拽效果,需要用到以下哪些事件除了

A

onmousedown

B

onmouseup

C

onmouseover

D

onmousemove

正确答案: C

解析:

鼠标按下(onmousedown),鼠标移动(onmousemove),鼠标抬起(onmouseup)

28.

在Javascript浏览器对象模型中,window对象的()属性用来指定浏览器状态栏中显示的临时消息

A

status 

B

screen 

C

history   

D

document

正确答案: A

解析:

29.

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

A

sort()

B

push()

C

join()

D

indexOf()

正确答案: D

解析:

30.

一个.php后缀的文件,可以在什么环境下执行

A

mysql数据库

B

浏览器

C

apache服务器

D

windows系统

正确答案: C

解析:

后台语言都需要服务器环境,php需要apache

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

1.

下列哪些是Math对象的方法

A

sort

B

floor

C

random

D

abs

正确答案: B,C,D

解析:

2.下列说法正确的是

A

可以通过e.cancelBubble=true阻止事件冒泡

B

可以通过 e.stopPropagation() 阻止事件冒泡

C

事件冒泡不能被阻止

D

事件冒泡没有兼容问题

正确答案: A,B

解析:

1

3.

下列描述不正确的的有(考虑ES5及ES6)

A

js中没有作用域

B

js中的函数就是一个独立的作用域,也就是js是有作用域的概念的

C

js中没有块级作用域

D

js中的函数可以有返回值也可以没有返回值

正确答案: A,C

解析:

1

4.

下列选项中哪些是JavaScript中Math方法

A

abs()

B

floor()

C

parseInt()

D

random()

正确答案: A,B,D

解析:

Math方法

5.

关于JSON,下面说法正确的是

A

没有任何办法可以将对象转字符串

B

可以通过使用JSON.stringify() 方法,将对象转化成字符串

C

可以通过使用 JSON.parse() 方法, 将字符串转成对象

D

没有任何办法可以将字符串转对象

正确答案: B,C

解析:

1

6.

遍历数组的方式有下面哪些:

A

for

B

while

C

forEach

D

for...of

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

解析:

ACD选项都是ES5中提供的遍历数组的函数(方法)

7.

在正则里面有特殊意思的字符()

A

?

B

+

C

^

D

$

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

解析:

.表示除换行与行结束符外的任意字符

+表示出现次数至少一次

^表示开始

$表示结束

8.

选出有兼容性的方法或者属性()

A

srcElement

B

addEventListener

C

stopPropagation

D

preventDefault

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

解析:

currentStyle是IE9以前浏览器获取元素CSS样式的方法,其它浏览器或IE9及之后使用window.getComputedStyle()方法。

addEventListener是添加事件监听的方法,IE9及之后浏览器可使用,但IE9之前使用attacheEvent 

9.

以下属于event对象属性的是()

A

pageX

B

keyCode

C

offsetTop,offsetLeft

D

offsetX

正确答案: A,B,D

解析:

BC属性元素本身 不属于事件

10.以下描述属于DOM的操作方法的是(      )

A

getElementsByTagName

B

getElementById

C

getElementsByClassName

D

querySelectorAll

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

解析:

B属于变量的声明 不是dom所特有

11.

下列( )字符串可以匹配/^\w\d{2,}$/正则表达式

A

"%d3d"

B

"@4a3a"

C

"a53"

D

"333"

正确答案: C,D

解析:

/^\w+\d{2,}$/  表示,开始是若干个(1个以1个以上)的数字字母下划线,结尾是是2个或者2个以上的数字

12.

下面属于js的数据类型的是:

A

number

B

string

C

object

D

boolean

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

解析:

记忆性知识

13.

以下对数组 的描述正确的是(  )

A

数组的数据类型是object

B

数组的数据类型是string

C

数组获取长度的属性是length

D

数组获取长度的属性是size

正确答案: A,C

解析:

堆栈的分配问题

14.

显示"Hello World"的正确javascript语法是?

A

document.write("Hello World")

B

alert(“Hello World”)

C

response.write("Hello World")

D

("Hello World")

正确答案: A,B

解析:

document.write("Hello World")和alert(“Hello World”)没有兼容性问题,

response.write("Hello World"):这是jsp的写法

("Hello World"):这不是输出显示吧

15.

var a="10",以下能实现字符串转成数字的是

A

a*1

B

Number(a)

C

a-0

D

a+0

正确答案: A,B,C

解析:

16.

下面哪种方式可以获取页面的垂直滚动距离

A

window.scrollY

B

document.body.scrollTop

C

window.scrollTop

D

document.documentElment.scrollTop

正确答案: A,B,D

解析:

获取滚动高度

答案A:window.scrollY在IE下是undefined

答案B:document.body.scrollTop在页面没有DOCTYPE声明的时候获取浏览器滚走的距离,IE9及以下都是0

答案C:window对象下没有scrollTop这个属性

答案D:document.documentElment.scrollTop在页面有DOCTYPE声明的时候使用。

因此正确答案应该为 ABD

17.

下面哪个不是数组的方法

A

map()

B

split()

C

filter()

D

test ()

正确答案: B,D

解析:

split是字符串的方法    test是正则表达式的方法

18.

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

A

innerText

B

outerHtml

C

innerHTML

D

value

正确答案: A,C

解析:

19.

判断str是否含有字符串“abc”,以下不正确的是

A

str.index(/abc/)!=-1

B

str.indexOf('abc')>=0

C

str=='abc'

D

'abc'.includes(str)

正确答案: A,C,D

解析:

答案A:字符串中没有index()这个方法

答案C:是比较str与“abc”是否相等

答案D:includes是ES6新增的方法,正确用法是str.includes('abc'),判断str是否包含abc字符串,如果包含返回true,不包含返回false

答案B正确

20.

属于cookie里面用到的关键字有()

A

path

B

expires

C

domain

D

以上都不对

正确答案: A,B,C

解析:

document.cookie="key=value;expires=失效时间;path=路径;domain=域;secure"。其中key与value是保存的cookie名与cookie值,需自定义

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BUG_Jia

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值