JS基础练习题(二)

一、单选题
1.已知数组 var arr = [1,2,3,4,5],执行 arr.pop() 后,数组的长度是
A 4
B 5
C 6
D 7
正确答案: A
解析:
arr.pop()是删除数组后一个数据

2.如果弹出一个可输入信息的框,可以使用哪一个方法
A confirm()
B prompt()
C alert()
D 以上都对
正确答案: B
解析:
prompt

3.下面哪个是window窗口大小改变触发的事件
A onmouseover
B onresize
C onmouseout
D onclick
正确答案: B
解析:
1

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

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

6.请阅读下面代码 var num = Math.floor(Math.random()100); 上述代码中num的取值范围是
A 0–100
B 1–99
C 0–99
D 1–100
正确答案: C
解析:
公式:Math.random()
(max-min+1)+min

7.关于nodeName描述错误的是
A 元素节点的节点名始终是标签名
B 文本节点的节点名始终是#document
C 文本节点的节点名始终是#text
D 属性节点的节点名始终是属性名
正确答案: B
解析:
文本节点名称是#text

8.在JavaScript中,下列代码可以实现每隔5秒弹出"5秒到了!"的是
A setTimeOut(“alert(‘5秒到了!’)”,5)
B setTimeOut(“alert(‘5秒到了!’)”,5000)
C setInterval(“alert(‘5秒到了!’)”,5)
D setInterval(“alert(‘5秒到了!’)”,5000)
正确答案: D
解析:
setInterval(“alert(‘5秒到了!’)”,5000) 间隔执行,间隔时间为5000毫秒,即5秒

9.在Javascript中,关于window对象描述不正确的是
A window.history属性是指有关客户访问过的URL信息
B window.confirm( )方法显示一个带有提示信息和确认及取消按钮的警示框
C window.prompt( )方法用于显示可提示用户进行输入的对话框
D window.onload 事件会在窗口或框架被调整大小时发生。
正确答案: D
解析:
window.onresize 事件会在窗口或框架被调整大小时发生。

10.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
解析:

11.js中获取当前星期,用哪个方法
A getTime()
B getDate()
C getDays()
D getDay()
正确答案: D
解析:

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

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

14.添加节点的方法
A 父节点.appendChild()
B 父节点.append()
C 父节点.prepend()
D 父节点.prependChild()
正确答案: A
解析:

15.两个字符大小比较规则是什么
A 比写法
B 比发音
C 比ASCII码
D 比写法和发音
正确答案: C
解析:

16.BOM和DOM分别是
A 文档对象模型和浏览器对象模型
B 计算机对象模型和文档对象模型
C 浏览器对象模型和文档对象模型
D 浏览器对象模型和计算机对象模型
正确答案: C
解析:

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

18.下列哪种写法是正确的对象或者数组创建方法?
A [{name=”zhangsan”},{name=”lisi”}]
B {[“name”,”age”],[“lisi”,30]}
C {[“name”:”zhangsan”],[“age”:18]}
D [{name:”zhangsan”},{name :”lisi”}]
正确答案: D
解析:
sss

19.关于setInterval(check ,10)中说法正确的是
A 程序循环执行10次
B check函数每10秒执行一次
C 10做为参数传给函数check
D check函数每10毫秒执行一次
正确答案: D
解析:
基本定时器概念

20.下面描述错误的是
A document.head 返回head元素
B document.body 返回body元素
C document.html 返回html元素
D document,docuemntElement返回html元素
正确答案: C
解析:
document.documentElement表示html元素

21.下列哪个方法不能获取obj的样式
A obj.style
B obj.currentStyle[attr]
C obj.offset
D getComputedStyle(obj)[attr]
正确答案: C
解析:
c

22.分析下面的代码,输出的结果是
var arr=new Array(5);
arr[1]=1;
arr[5]=2;
console.log(arr.length)
A 2
B 5
C 6
D 报错
正确答案: C
解析:
数组的下标从0开始,arr[5]代表数组的第6项,所有数组的长度为6

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 str = “hello world”; console.log( str. substring(2,7) )
A llo wor
B llo wo
C llo w
D ello wo
正确答案: C
解析:
C

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

26.阅读以下代码,在页面中结果是 var s=“abcdefg”; alert(s.substring(1,2))
A a
B b
C bc
D ab
正确答案: B
解析:
substring方法用来截取字符串,第一个参数代表起始位置的索引,第二个参数代表结束位置的索引,不包括第二个位置的索引。

27.以下代码输出结果为 var bool = true; setTimeout(function(){ bool = false },0); console.log(bool)
A false
B true
C 报错
D undefined
正确答案: B
解析:
本题考查异步,属于较早提及难度等级高的知识。 异步程序晚于同步程序执行

var arr = [1,2,3,4]; arr.concat(1,2,4,[1,2,3],5); alert(arr.length)
A 4
B 9
C 11
D 5
正确答案: A
解析:
concat不修改原数组

29.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 不改变原数组。

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,就停止查找

二、多选题
1.下面哪些方法可以将一个小数取整
A Math.floor()
B Math.ceil()
C Math.round()
D Math.abs()
正确答案: A,B,C
解析:
Math.floor()向下取整;Math.ceil()向上取整;Math.round()四舍五入取整

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

3.下面哪些方式可以将div的文字设置为红色
A div.color = “red”
B div.style.color =“red”
C div.style.cssText=“color:red”
D div.cssText=“red”
正确答案: B,C
解析:
对象.style.属性=“属性值”,可以设置字体颜色
对象.style.cssText=“color:red”,可以批量设置css属性

4.数组添加元素的方法有
A
push
B pop
C slice
D unshift
正确答案: A,D
解析:
AD

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

6.以下等式成立的是
A typeof NaN == ‘number’
B NaN == NaN
C ‘abcd’.length == 4
D ‘abcd’[1] == ‘a’
正确答案: A,C
解析:

7.下面关于数组方法描述正确的是
A 可以通过splice()复制数组
B forEach()可以遍历数组,等同于for循环
C every(fn) 返回布尔值,如果该函数每一项都返回 true,才返回true
D some(fn) 返回布尔值,如果该函数每一项都返回 true,才返回true
正确答案: B,C
解析:
BC

8.以下返回结果为类数组对象的语句为
A document.getElementById()
B document.getElementsByClassName()
C document.querySelector ()
D document.querySelectorAll()
正确答案: B,D
解析:
document.getElementById()是通过id查找元素,document.querySelector ()是ES5新方法,能够根据id、类名、标签名查找元素,如果参数写的是类名或是标签名,找到的是第一个元素,这两个方法找到的都是单个元素;document.getElementsByClassName()和document.querySelectorAll()找到的是集合。

9.在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的值

10.以下数组方法中哪些可以改变原数组
A slice()
B splice()
C concat()
D pop()
正确答案: B,D
解析:
slice为截取数组,不会修改原数组;concat为合并数组,不会修改原数组;splice为删除并替换局部,会修改原数组;pop删除数组中最后一位数据,会修改原数组

11.节点之间的关系不包括
A 包含关系(父子关系)
B 平级关系(兄弟关系)
C 包裹关系
D 覆盖关系
正确答案: C,D
解析:
节点的关系一般成为父子和兄弟,父子为包含,兄弟为平级

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

13.日期对象设置年月日的方法有
A setFullYear
B setYear
C setDay
D setDate
正确答案: A,D
解析:
AD

14.关于window对象表述正确的有
A DOM的document 也是 window 对象的属性之一
B window.location.reload()方法可以用来刷新当前页面
C window.location.href="a.html"的作用是把当前页面替换成a.html页面(类似于跳转到a.html)
D 定义了全局变量g,可以用window.g的方式来存取该变量
正确答案: A,B,C,D
解析:
以上都是正确答案

15.创建一个数组的方法有哪些
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为创建对象

16.下列哪些方法是用来截取字符串的
A substr()
B substring()
C replace()
D split()
正确答案: A,B
解析:
replace是替换,split是分割

17.在JavaScript中,可以实现跳转的是()
A window.open()
B window.location.href
C window.location.assign()
D window.location
正确答案: A,B,C,D
解析:

18.下列哪些方法数组和字符串都能用
A concat()
B splice()
C slice()
D sort()
正确答案: A,C
解析:
concat可以连接数组,或连接字符串,slice可以截取数组,或截取字符串;
splice是数组的替换,sort是数组的排序

19.在JavaScript中,下面代码表示获取文本框的值
var usrName = document.getElementById(“txtName”).value
则下列选项中验证文本框为空的条件表达式不正确的是
A usrName ==""
B usrName.length<=0
C usrName=""
D usrName.length<0
正确答案: C,D
解析:
C选项是赋值不是比较
D选项,应为长度不会小于0

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

你可能感兴趣的:(javascript)