JS面试题-选择题

1.下面代码执行结果是()

var a=123;

fn(a);

function fn(){a=456}

document.write(a);

A.456  B.122  C.报错  D.undefined 

考点:变量的作用域,全局变量和局部变量的转换

2.html文档中怎么区分节点对象的节点类型()

A.typeof   B.type   C.nodeType   D.nodeName

typeof  获取数据类型
type    没有这个方法
nodeType  节点类型
    元素节点 1
    属性节点  2
    文本节点   3
    注释节点   8
    文档节点  9
nodeName  节点名称
    元素节点    标签名相同 DIV
    属性节点    属性名称
    文本节点    #text

4.下面对象或数组的创建方式错误的是()

A.var obj={};

B.Var obj={[]};

C.Var obk=[{}];

D.Var obj={age:123};

 

5.下面代码的执行结果是()

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

 

5.数组中哪个方法不可以实现删除数组本身中的数据()

A.shift()  B.pop()  C.splice()  D.slice()

shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值
pop() 方法用于删除最后一个元素,并返回被删除的元素
splice(开始位置,删除的个数,要添加的新内容)
Slice(开始位置,结束位置),从已有的数组中返回选定的内容

 

6.下面哪个不是javascript中的数据类型()

A.string   B.number   C.undefined   D.num

 

7.下面哪个不是javascript中的关键字或保留字 ()

A.class  B.var  C.link  D.Instanceof

object instanceod constructor   //object要检测的对象,constructor某个构造函数。
"string" instanceof String  //返回false,检查原型链会找到undefined。
new String() instanceof String  //true
new String('string') instanceof String  //true
new String() instanceof Object  //true
console.log('123' instanceof Object);  // false
console.log(new String('123') instanceof Object);  //true

8.下面代码的执行结果肯定不会是()

document.write(parseInt(Math.random()*3));

A.1   B.0   C.2   D.3

Math.random()*3的结果最大为2.7,所有,取整之后最大为2

9.New Date(2012,12,8).getMonth()的结果是什么

A.12      B. 11   C.0     D.13

月份是从0开始到11,月12会向年进1,年变成2013,月为0

10.请阅读下面代码  var arr=[25,111,18,12,92,5,15];如何将上面数组按照降序排序

A.arr.sort()

B.arr.sort(function(){return a-b;})

C.arr.sort(function(){return b-a;})

D.arr.sort(b-a)

sort方法加比较函数,return a-b,做的就是降序;return b-a,做的就是降序

11.下面描述错误的是

A.document.head 返回head元素

B.document.body 返回body元素

C.document.html  返回html元素

D.document.documentElement  返回html元素

    console.log(document.head);  // head
    console.log(document.body);  // body
    console.log(document.html);  
    console.log(document.documentElement); // 整个文档结构 

12.var n=’liang zi ju zhen’.indexOf(‘zi’,7); n的值为

A.-1  B.5  C.报错  D.-10

indexOf(查找的内容,开始查找的位置)查找字符串第一次出现的位置,它的取值是0到字符串的长度-1,如果省略就从字符串的首字符开始检索,如果没有检索到就返回-1,对大小写敏感

13. 0.1+0.7==0.8该表达式返回

 A.true  B.false  C.infinity  D.NaN

 

14.哪个属性可以获得滚动条已经滚动的垂直距离

A.document.scrollTop

B.document.top

C.document.body.scrollTop

D.window.scrollTop

document.body.scrollTop; 对应的是 body 标签
还可以使用
document.documentElement.scrollTop; 对应的是 html 标签;

15.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

concat会把[1,2,3]拆分开,concat的返回值是拼接成的新数组
如果是alert(arr.length);=>4

16.下面结果返回值为4的有(多选)

A.Number(‘4’)

B.parseInt(‘4aa11’)

C.Math.floor(3.5)

D.Math.round(3.5)

17.以下返回结果为类数组对象的语句为(多选)

A.document.getElementById()

B.document.getElementsByClassName()

C.document.querySelector()

D.document.querySelectAll() 

document.getElementById是通过id查找元素;
document.querySelector是ES5新方法,能够根据id,类名,标签名查找元素,如果参数写的是类名或者标签名,找到的是第一个元素,这两个方法找到的都是单个元素
document.getElementByClassName()和document.querySelectAll()找到的是集合,是多个元素

18.var now=new Date(),设置3天后的事件正确写法是(多选)

A.now.setDate(now.getDate()+3);

B.now.setTime(now.getTime()+3);

C.now.setTime(now.getTime()+3*1000*3600*24);

D.now.setTime(now.getDate()+3*1000*3600*24);

now.getDate()获取的是当前时间的天;
now.getTime() 获取的是时间戳
now.setTime() 以毫秒设置 Date 对象
var d = new Date()
d.setTime(77771564221)
document.write(d)

19.下面对字符串的描述正确的是(多选)

A.字符串的长度可以通过length属性获取

B.字符串可以通过charAt()获取某个字符对应的索引

C.字符串可以通过indexOf()获取某个字符对应的索引

D.字符串可以通过join()转为数组

length 获取常速
charAt() 获取下标值
indexOf() 自字符串第一次出现的位置
Join 数组转为字符串
Split 字符串转为数据

20.下面那些是属于DOM操作的方法(多选)

A.removeChildren()

B.appendChild()

C.children

removeChild()

removeChildren是错误方法,应该是removeChild
children是选择器,是获取元素的,不能操作元素
appendChildren 插入节点

猜你喜欢

转载自www.cnblogs.com/ranyihang/p/12212465.html