JavaScript基础题、练习题、考试题、面试题(二)

1.已知字符串"hello everybody "通过下面哪个方法可以去掉字符串两端的空白
A trim()
B split()
C reverse()
D join()
正确答案: A
解析:
使用排除法:split分割字符串;reverse反转数组;join将数组转成字符串

trim() 去除字符串两端空格

2.var array = new Array(5); array.push(8); 数组array的长度是
A 5
B 6
C 7
D 8
正确答案: B
解析:
new Array(5);创建一个长度为5的空数组,push方法在数组后增加一位,结果为6

3.3秒后,图片消失,应该使用下面哪个方法
A hide()
B setTimeout()
C ClearInterval
D clearTimeout()
正确答案: B
解析:
setTimeout延时器

4.下面哪一个方法可以查找 class 名为 “xm”的元素
A document.getElementsByClassName(“xm”)
B document.getElementsByName(“xm”)
C document.Class(“xm”)
D document.ByName(“xm”)
正确答案: A
解析:
document.getElementsByClassName(“xm”);获取class为xm的元素

5.Math.ceil(-3.14)的结果是( )
A -3.14
B -3
C -4
D 3.14
正确答案: B
解析:
Math.ceil()向上取整
Math.floor()向下取整

6.下面哪个是window窗口大小改变触发的事件
A onmouseover
B onresize
C onmouseout
D onclick
正确答案: B
onmouseover 鼠标移入事件
onmouseout 鼠标移出事件
onclick 鼠标点击事件

7.对象可以通过哪种方式进行对象属性的遍历
A forEach
B for
C for…in
D for…of
正确答案: C

8.以下代码运行后y的值为 var arr=[“123”, 123]; console.log(typeof typeof arr[1])
A 123
B number
C string
D object
正确答案: C

9.Math.round(Math.random()*9);可以取到的最大值是
A 8
B 9
C 9.999999
D 11
正确答案: B

10.通过ID选择器获取元素正确的方法是
A document.getElementsById()
B document.getElementByid()
C document.getElementsByIdName()
D document.getElementById()
正确答案: D

11.Math.floor( -3.5 )结果为:
A 3
B 4
C -3
D -4
正确答案: D

12.下列哪个对象不属于bom对象
A document
B location
C history
D offsetWidth
正确答案: D

13.var arr = [3,4,6],删除数组中的最后一项
A arr.pop()
B arr.pop(6)
C arr.shift()
D arr.shift(6)
正确答案: A

14.var arr = [5,3,2,4]; var res = arr.splice(0); console.log(res) 结果是
A [5,3,2,4]
B [5]
C [5,3]
D [2,4]
正确答案: A
splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。

15.var arr = [3,6,8,9]; var res = arr.slice(1,3); console.log(res) 结果是
A [6,8,9]
B [6,8]
C [3,6,8]
D [3,6]
正确答案: B
解析:
slice() 方法可从已有的数组中返回选定的元素。

16.将小写转为大写的方法是
A charAt()
B toLowerCase()
C toUpperCase()
D indexOf()
正确答案: C

17.创建节点的方法
A 父节点.createElement()
B body.createElement()
C document.createElement()
D document.create()
正确答案: C

18.节点的nodeType值为什么,代表着是元素节点
A 3
B 1
C 9
D 8
正确答案: B
解析:
1为元素节点,2为属性节点,3为文本节点,8为注释节点,9为根元素节点

19.以下关于 Array 数组对象的说法不正确的是
A 对数组里数据的排序可以用 sort 函数,如果排序效果非预期,可以给 sort 函数加一个排序函数的参数
B reverse 用于对数组数据的倒序排列
C 向数组的最后位置加一个新元素,可以用 pop 方法
D shift 方法用于删除数组第一个元素
正确答案: C
解析:
pop() 方法用于删除并返回数组的最后一个元素。

20.下列哪一个不是history对象的方法
A go()
B back()
C forward()
D reload()
正确答案: D

21.下列选择器错误的是:
A document.getElementById()
B document.getElementByTagName()
C document.querySelector ()
D document.querySelectorAll ()
正确答案: B
解析:
少了个s
document.getElemenstByTagName()

22.在以下选项中,关于JavaScript的Date对象描述正确的是
A getMonth( )方法能返回Date对象的月份,其值为1~12
B getDay( )方法能返回Date对象的一个月中的每一天,其值为1~31
C getTime( )方法能返回某一时刻(1970年1月1日)依赖的毫秒数
D getYear( )方法只能返回4位年份,长用于获取Date对象的年份
正确答案: C
解析:
getTime( )方法能返回某一时刻(1970年1月1日)依赖的毫秒数

23.var arr = [1,2,3,4]; arr.splice(1,0,[1,2,3,4],5); alert(arr.length);
A 4
B 5
C 6
D 9
正确答案: C
解析:
删除0个插入2个,所以最后length为6,插入的数组算一个

24.var arr = [1,2,3,4]; alert(arr.concat(1,2,3,[1,2,3],5).length)
A 4
B 9
C 11
D 5
正确答案: C
解析:
concat返回的新数组立马length,所以输出的是最新的数组长度

25.var arr = [1,2,3,4]; arr.slice(2); console.log(arr);
A [1,2,3,4]
B 1,2
C 3,4
D 2
正确答案: A
解析:
slice方法不修改原数组

26.获取字符串中某个索引对应的字符
A indexOf()
B charAt()
C split()
D slice()
正确答案: B
解析:
charAt(idx)获取索引对应的字符

得分:0分
27.哪个属性可以获得滚动条已经滚动的垂直距离
A document.scrollTop
B document.top
C document.body.scrollTop
D window.scrollTop
正确答案: C

28.var arr = [1,2,3,4]; arr.join("&"); console.log(arr);
A [1,2,3,4]
B 1&2&3&4
C [1&2&3&4]
D 1,2,3,4
正确答案: A
解析:
join 不改变原数组。

29.var arr = [3,4,5]; var res = arr.unshift(1,2); console.log(res); 输出的结果是
A [1,2]
B [3,4,5]
C 5
D [1,2,3,4,5]
正确答案: C
解析:
unshift()执行后返回值为新数组的长度

30.下面打印出来的值为 var i = 0; [1,2,3].some(function(item,idx){ i = idx; return item == 2; }) console.log(i)
A 0
B 1
C 2
D 3
正确答案: B
解析:
找到满足条件为true,就停止查找

二、多选题(共20题,每题2分)
得分:0分
1.Javascript中弹出提示的方法有?
A alert()
B confirm()
C prompt()
D document
正确答案: A,B,C
解析:
三大弹出框方法

2.下面哪些对象可以通过 构造函数 的方式创建
A Date
B Math
C Array
D String
正确答案: A,C,D
解析:
Math是数学对象,可以直接使用,不用创建

3.更改一个输入框(input)的内容,以下错误的属性是
A value
B innerHTML
C innerText
D outerHTML
正确答案: B,C,D
解析:
可以通过value修改,其他属性不行

4.下面哪些方式查找到的页面元素是一个类数组(伪数组)
A querySelectorAll()
B getElementsByName()
C getElementsByTagName()
D getElementsByClassName()
正确答案: A,B,C,D
解析:
都是

5.下面结果返回值为4的有
A Number(“4”)
B parseInt(“4aa11”)
C Math.floor(3.5)
D Math.round(3.5)
正确答案: A,B,D
解析:
ABD

6.JS提供的定时器有哪些
A setInterval()
B clearInterval()
C setTimeout()
D clearTimeout()
正确答案: A,C
解析:
计时器延时器,都是定时器

得分:2分
7.在JavaScript中,以下哪条语句能隐藏id为flower的div
A document.getElementById(“flower”).style.display=“none”;
B document.getElementById(“flower”).style.display=“hidden”;
C document.getElementById(“flower”).style.visibility=“none”;
D document.getElementById(“flower”).style.visibility=“hidden”
正确答案: A,D
解析:
display属性没有hidden的值;

visibility属性没有none的值

得分:2分
8.var now = new Date(),设置3天后的时间正确写法是
A now.setDate(now.getDate()+3)
B now.setTime(now.getTime()+3)
C now.setTime(now.getTime()+31000360024)
D now.setDate(now.getDate()+3
1000360024)
正确答案: A,C
解析:
利用时间戳计算3天的总毫秒数,再设置给时间戳

得分:2分
9.以下函数中,哪些是在调用后,原数组本身也被改变的
A push()
B pop()
C shift()
D unshift()
正确答案: A,B,C,D
解析:
push在数组的最后一位新增,pop删除数组的最后一位,shift删除数组的第一位,unshift在数组的第一位新增

10.清除定时器的方法
A clear()
B celarAll()
C clearTimeout()
D clearInterval()
正确答案: C,D
解析:
定时器分为计时器和延时器,所以两个清除都叫清除定时器

11.下列哪些是字符串的方法
A replace()
B split()
C join()
D indexOf()
正确答案: A,B,D
解析:
replace是替换,split是根据指定字符串分割字符成数组,indexOf是根据指定字符返回索引,join是将数组转成字符串

12.下列哪些是数组的方法
A charAt()
B sort()
C push()
D filter()
正确答案: B,C,D
解析:
sort是数组的排序,push是在数组最后一位新增,filter可以对数组进行遍历的同时筛选数据,charAt可以根据指定的索引返回字符,不是数组的方法

13.下列哪些方法可以遍历数组
A for
B for-in
C do-while
D for-by
正确答案: A,B,C
解析:
js中目前没有for-by方法

16.下列方法能截取字符串片段的是
A substr()
B substring()
C split()
D slice()
正确答案: A,B,D
解析:
split是分割字符串,其他都可以截取

17.创建一个数组的方法有哪些
A var arr = [];
B var arr = new Array(3)
C var arr = new Array(3,4)
D var arr = {}
正确答案: A,B,C
解析:
A为字面量方式创建数组,B为构造函数方式创建一个长度为3的空数组,C为构造函数方式创建数组,D为创建对象

18.下列哪些选项属于DOM节点
A 属性
B 文本
C 注释
D 标签
正确答案: A,B,C,D
解析:
DOM节点有:属性,文本,注释,标签,根节点

19.以下不属于关键字或保留字的有
A class
B let
C style
D script
正确答案: C,D
解析:
关键字指该名字在语法中另有他用,保留字指Javascript 以后打算扩展使用的,都不能用来作为变量名、函数名和标签名;参考下表可知,class和let都是关键保留字,style和script则不是。

20.下列哪些是属于Date对象的方法
A setMonth()
B getFullYear()
C setDate()
D random()
正确答案: A,B,C
解析:
random是Math的方法

猜你喜欢

转载自blog.csdn.net/ZHANGJIN9546/article/details/93708699