1. 下面语句得到值为true的有 A C
A "1" == 1
B 1==="1"
C "2" > "19"
D "2"==19
2. 下面哪些方法可以实现将字符串“123”变成数值型 A B C D
A Number() B parseInt() C parseFloat() D Boolean()
3. 下面声明变量及赋值的写法正确的有 B C D
A var _myName = 12a
B var _myName = "12a"
C var myName = 12
D var $myName = true
**4. console.log(typeof typeof 123456) 的值为 string*
**5. typeof null 检测出来的数据类型是 object
**6. 在JS中,"1555"+3的运行结果是 15553
**7. 在JS中,3+"1555"+3的运行结果是 315553
**8. 在JS中,3+3+"1555"+3的运行结果是 615553
**9. console.log(NaN==NaN) false
**10.console.log(isNaN(123)) false
**10. isNaN("abc")的结果是 true
**11. isNaN(123) 的结果是 false
**12. isNaN("3a")的结果是 NaN
**13. console.log(Number(" ")); 0
14. 如果弹出一个可输入信息的框,可以使用哪一个方法 B
A confirm()
**B prompt()**
C alert()
D 以上都对
15. var sum=0; for(var i=0;i<10;i++){ sum += i; } console.log( i ) 10
16. 下面哪一个字符串变量定义语句是不正确的 ( C)
A var mytext="Here is some text!"
B var mytext='Here is some text!'
C var mytext='Here is some text!"
D var mytext="Here is\ some text!"
3. 有下述JS代码:
var x = 10; var y = 20;
var z = x<y ? x++ : ++y ;
console.log( 'x=' + x + '; y=' + y + '; z=' + z); 其运行结果是( B )
A x=11; y=21; z=11
B x=11; y=20; z=10
C x=11; y=21; z=10
D x=11; y=20; z=11
5. 哪个操作符比较变量需要比较值及类型 B
A ==
B ===(严格等)
C =
D 以上都不用
10. 如下代码,会弹出来是什么 var a; alert(a); C
A 报错
B a is not define
C undefined
D 0
17. var num = 123.456789;哪种方法可以保留3位小数 B
A num.toString(3)
B num.toFixed(3)
C parseFloat(num,3)
D Number(num,3)
18. 关于NaN的说法正确的是 A C
A NaN的数据类型为数字类型 也就是 typeof(NaN)的结果为number
B NaN == NaN 返回true
C NaN不等于任何数,包括自己本身,NaN == NaN 返回false
D 如果已知变量num不是数字,那么num == NaN 将得到true
19 代码的输出结果是 (A)
var num = 2;
switch(num) {
case 1: console.log("1");
case 2: console.log("2");
default: console.log("default");
}
A 先输出2,再输出default
B 输出2
C 程序错误
D 先输出1,再输出2,再输出default
20. 执行以下代码,控制台会打印几次 (B)(至少一次)
var age = 17;
do{
console.log("十八岁以下禁止观看");
}while(age>=18)
A 0
B 1
C 2
D 无限次
21. Number(true) 返回值为 (B)
A true
B 1
C 0
D NaN
22. 分析下段代码输出结果是 B
var t = 10;
function test(test){
t = t + test;
var t = 3;
console.log(t);
}
test(t);
A 6
B 3
C 13
D NaN
23. 分析下段代码输出结果是 C
var t = 10;
function test(test){
t = t + test;
console.log(t);
}
test(t);
A 6
B 3
C 20
D NaN
24.有下述JS代码: B
var i = 0;
var sum = 0;
do{
i++;
if( i%2 === 0){ continue; } I 0 1 2 3
if( i%5=== 0){ break; } SUM 0 1 2
sum += i;
}while( i<10 );
console.log( 'sum=' + sum );
其运行结果应该是下列哪项
A sum=0
B sum=4
C sum=Infinity
D 死循环
25.如何快速的将数组arr清空 (A)
A arr.length = 0
B arr = ""
C arr.length = ""
D arr.length = []
26.下面哪个是window窗口大小改变触发的事件 (B)
A onmouseover
B onresize
C onmouseout
D onclick
27.判断下面的代码输出为
var a = 1; var b = a * 0; var a;
if (b == b) {
console.log(b * 2 + "2"- 0 + 4);
} else {
console.log(!b * 2 + "2"- 0 + 4);
} (A)
A 6
B NaN
C 22
D 26
28.文本节点的节点类型用数字表示为 (C)
A 1
B 2
C 3
D 8
29.请阅读下面代码 var num = Math.floor(Math.random()*100); 上述代码中num的取值范围是 (C)
A 0--100
B 1--99
C 0--99
D 1--100
30.关于nodeName描述错误的是 (B)
A 元素节点的节点名始终是标签名
B 文本节点的节点名始终是#document
C 文本节点的节点名始终是#text
D 属性节点的节点名始终是属性名
31. 请阅读列代码 <ul id="list">文本
<li>list1</li>
<li>list2</li>
<li>list3</li>
</ul>
<script>
var list = document.getElementById("list");
console.log(list.childNodes[0].nextSibling);
</script> 以上代码的输出结果是 (A)
A <li>list1</li>
B " "
C <li>list2</li>
D <li>list3</li>
解析:list.childNodes[0]为文本节点
32.在javascript里,下列选项中不属于数组方法的是 (B)
A sort()
B length()
C reverse()
D concat()
33.var arr = [2,3,4,5,6]; (B)
var sum =0;
for(var i=1;i < arr.length;i++) {
sum +=arr[i]
}
console.log(sum);
A 20
B 18
C 14
D 12
解析:下标从1开始
34.下列关于innerHTML和innerText描述正确的是 (A)
A innerHTML会被解析成html标签渲染,innerText是纯文本显示
B innerHTML会发生转义如 < 会被转换成 < ,innerText原样渲染
C innerHTML和innerText都会被解析成html标签渲染
D innerHTML和innerText都是纯文本显示
35.下列哪个方法不能获取obj的样式 (C)
A obj.style
B obj.currentStyle[attr]
C obj.offset
D getComputedStyle(obj)[attr]
36.分析下面的代码,输出的结果是 (C)
var arr=new Array(5);
arr[1]=1;
arr[5]=2;
console.log(arr.length)
A 2
B 5
C 6
D 报错
解析:数组的下标从0开始,arr[5]代表数组的第6项,所有数组的长度为6
37.为了避免重复的DOM插入操作,我们可以创建一个 (D)
A 文本文档
B 文本文件
C 文件碎片
D 文档碎片
38.哪个属性可以获得滚动条已经滚动的垂直距离 (C)
A document.scrollTop
B document.top
C document.body.scrollTop
D window.scrollTop
39.请阅读下面代码 var arr = [1,2,3,"hello"]; arr.concat("world");
console.log(arr.toString()); 上述代码的输出结果是 (A)
A "1,2,3,hello"
B "string"
C "1,2,3,hello,world"
D "1 2 3 hello world"
解析:concat不修改原数组!
40.var arr = [1,2,3,4]; arr.join("&"); console.log(arr); (A)
A [1,2,3,4]
B 1&2&3&4
C [1&2&3&4]
D 1,2,3,4
解析:join 不改变原数组。
41.var arr = [3,4,5]; var res = arr.unshift(1,2); console.log(res); 输出的结果是 (C)
A [1,2]
B [3,4,5]
C 5
D [1,2,3,4,5]
解析:unshift()执行后返回值为新数组的长度
42.下面哪些方式可以将div的文字设置为红色 (B C)
A div.color = "red"
B div.style.color ="red"
C div.style.cssText="color:red"
D div.cssText="red"
解析:对象.style.属性=“属性值”,可以设置字体颜色,对象.style.cssText="color:red",可以批量设置css属性
43.已知当前的系统时间,var now = new Date(),设置3天后的时间正确写法是 (B C)
A now.setDate(now.getDate()+3)
B now.setTime(now.getTime()+3)
C now.setTime(now.getTime()+3*1000*3600*24)
D now.setDate(now.getDate()+3*1000*3600*24)
解析:使用数学计算,计算出3天一共多少毫秒,设置给时间戳
44.var now = new Date(),设置3天后的时间正确写法是 (A C)
A now.setDate(now.getDate()+3
B now.setTime(now.getTime()+3)
C now.setTime(now.getTime()+3*1000*3600*24)
D now.setDate(now.getDate()+3*1000*3600*24)
45.以下等式成立的是 (A C)
A typeof NaN == 'number'**
B NaN == NaN
C 'abcd'.length == 4
D 'abcd'[1] == 'a'
45.下面关于数组方法描述正确的是 (B C)
A 可以通过splice()复制数组
B forEach()可以遍历数组,等同于for循环
C every(fn) 返回布尔值,如果该函数每一项都返回 true,才返回true
D some(fn) 返回布尔值,如果该函数每一项都返回 true,才返回true
46.删除节点的方法 (A B)
A remove()
B removeChild()
C move()
D moveChild()
解析:元素.remove()可以删除当前元素,父元素.removeChild(子元素)可以根据父元素删除指定的子元素
47.以下数组方法中哪些可以改变原数组 (A D )
A slice()
B splice()
C concat()
D pop()
解析:slice为截取数组,不会修改原数组;concat为合并数组,不会修改原数组;splice为删除并替换局部,会修改原数组;pop删除数组中最后一位数据,会修改原数组
48.下列哪些方法可以遍历数组(A B C)
A for
B for-in
C do-while
D for-by
49.下列哪些选项属于DOM节点 (A B C D)
A 属性
B 文本
C 注释
D 标签
DOM节点有:属性,文本,注释,标签,根节点
50.下面对字符串的描述正确的是 (A C)
A 字符串的长度可以通过length属性获取
B 字符串可以通过charAt()获取某个字符对应的索引
C 字符串可以通过indexOf()获取某个字符对应的索引
D 字符串可以通过join()转成数组
51.以下选项,能够正确随机获取数组中元素的是 var arr = [“张三”,“李四”,“王二”,“二哈”] A B
A Math.round(Math.random() * (arr.length-1) )
B parseInt(Math.random() * arr.length )
C Math.round(Math.random() * (arr.length) )
D parseInt(Math.random() * (arr.length-1) )
解析:要随机获取数组的内容,只要能生成随机下标即可,arr的下标是0到arr.length-1之间,所以只要能生成0到3的随机正数即可;
A选项:Math.random() * (arr.length-1) 得到 0.0001-2.9999的随机数,Math.round()方法作用是四舍五入,经过该方法:得到0-3之间的随机数,正确;
B选项:Math.random() * arr.length得到0.0001-3.9999的随机数,parseInt( )方法能取整数部分,经过该方法:得到0-3之间的随机数,正确;
C选项:Math.random() * (arr.length) 得到0.0001-3.9999的随机数,四舍五入后:得到0-4之间的随机数,错误
D选项:Math.random() * (arr.length-1)得到 0.0001-2.9999的随机数,parseInt( )方法取整后:得到0-2之间的随机数,错误
52.var str = "ha ha xi hei"; str.replace("h",","**"请问str的值为 (A)
A."ha ha xi hei"
B."** ha xi hei"
C."** ** xi hei"
D.1**** **** xi hei"
53.下列哪种写法是正确的对象或者数组创建方法? D
A.[{name=”zhangsan”},{name= "lisi"}]
B.{[“ name","age","lisi' ,30]}
C.{["name”" zhangsan"],[" age”:18]}
D.[{name:"zhangsan"},{name :"lisi" }
解析:对象是键值对格式,键和值之间用冒号
54.在JavaScript中,下列代码可以实现每隔5秒弹出"5秒到了!"的是 D
A.setTimeut(^alert(5秒到了!)",5)
B.setTimeOut("ale(5秒到了!)" ,5000)
C.setInterval("alert('5秒到了!)",5)
D.setInterval("alert(5秒到了!'",5000)
解析:每隔5秒就弹出,那用的应该是循环定时器,setInterval("alert(5秒到了!",5000)间隔执行,间隔时间为5000毫秒,即5秒
54.var arr = [how,are,you]; arr.reverse(; alert(arr) B
A.how,are,you
B.you,are,how
C.h,o,w,a,r,e,y,O,u
D.u,o,y,e,r,a,w,o,h
解析:reverse翻转,直接修改原数组
55.要求用JavaScript实现下面的功能:在一个文本框中内容发生改变后,单击页面的其他部分将弹出一个消息框显示文本框中的内容,下面语句正确的是 (A)
A <input type="text" onClick="alert(this.value)">
B <input type="text" onChange="alert(this.value)">
C <input type="text" onChange="alert(text.value)">
D <input type="text"onClick="alert(value)">
解析:onchange事件,在文本框内容发生变化切光标离开时触发
56.以下ES6字符串拼接中最推荐使用的是以下哪种写法? B
A `今天天气`+很好
B `今天天气${"很好"} `
C `今天天气`+${"很好"};
D `今天天气+${很好} `;
57.以下选项中哪个是正则的量词 : C
A 100
B num
C +
D .
解析:+代表其前边的字符重复1~无限多次
58.以下哪些属性不是事件对象event的属性 C
A offsetX
B clientX
C offsetLeft
D target
解析:实时获取元素针对于offsetParent的left坐标
59.0.1+0.7 == 0.8 (0.1 + 0.7 计算结果是浮点数) B
A true
B false
C Infinity
D NaN
解析:由于计算机存储数字的特点,导致浮点数的计算存在误差。
0.1+0.7 === 0.7999999999999999
所以结果为false
60.下列代码的执行结果是 var arr = [1,11,2,22,3,4]; arr.sort(); document.write(arr); A
A 1,11,2,22,3,4
B 1,2,3,4,11,22
C 22,11,4,3,2,1
D 报错
解析:arr.sort();直接用,不能对超过10以上的数字排序,所以会得:1,11,2,22,3,4
61.在HTML页面中包含如下所示代码,则编写Javascript函数判断是否按下键盘上的回车键正确的编码是 (回车键的键盘码是13)<input name="password"; type="text" onkeydown="myKeyDown()"> C
A function myKeyDown(){ if (window.keyCode==13){ alert("你按下了回车键")}};
B function myKeyDown(){ if (document.keyCode==13){ alert("你按下了回车键");}}
C function myKeyDown(){ if (event.keyCode==13){ alert("你按下了回车键")}}
D function myKeyDown(){ if (keyCode==13){ alert("你按下了回车键")}}
解析:keyCode是event对象下面的属性,keycode等于13说明按下了回车键
62.使用 JavaScript 向网页中输出<h1>hello</h1>,以下代码中可行的是 B
A <script type="text/javascript">document.write(<h1>hello</h1>);</script>
B <script type="text/javascript">document.write("<h1>hello</h1>");</script>
C <script type="text/javascript"> <h1>hello</h1></script>
D <h1><script type="text/javascript">document.write("hello");</script></h1>
解析:document.write()方法可以打印节点到页面显示,参数是字符串,如有标签需要写完整。document.write("<h1>hello</h1>");正确
63.关于mouseenter的说法,正确的是 B
A 与mouseup效果相同
B 当鼠标指针进入元素时,会发生mouseenter事件
C 和mouseover完全没有区别
D 与mousemove效果相同
解析:和mouseover效果相同,但是比mouseover好,不会引起冒泡
64.有var obj ={ name:”王大锤”, skill:”逗比”, logo:”日和漫画”} 使用循环将对象中的属性值依次取出并打印正确的是 C
A for(var i=0; i<obj.length; i++){ console.log(obj[i]); }
B for(var i=0; i<obj.length; i++){ console.log(obj.index); }
C for(var attr in obj){ console.log(obj[attr]) }
D return
解析:对象没有长度length,所以不能用for循环,需要用for in遍历。故A B错误,C正确
65.下面的 JavaScript 语句中,哪个实现检索当前页面中的表单元素中的所有文本框,并将它们全部清空 D
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;i<document.forms.length;i++) {
if(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;i<document.forms.length; i++){
for(var j=0;j<document.forms[i].elements.length; j++){
if(document.forms[i].elements[j].type=="text") document.forms[i].elements[j].value="";
}
}
解析:for(var i=0;i<document.forms.length; i++){
for(var j=0;j<document.forms[i].elements.length; j++){
if(document.forms[i].elements[j].type=="text")
document.forms[i].elements[j].value=""; }
}
找到所有form里面所有的text文本框,把value设置为空。
66.下列代码的执行结果肯定不会是 document.write(parseInt(Math.random()*3)) D
A 1
B 0
C 2
D 3
解析:左闭右开
67.下列let声明变量说法有误的一项是 D
A let在某个{}内部使用时,外部不能访问该let声明的变量
B 用 let 声明变量没有声明提升
C let声明的变量, 变量声明之前该变量不可用,这种现象就称作暂时性死区;
D let 不允许重复修改变量
解析:不允许修改的是常量
68.下列代码的执行结果是 C
var num1 = 1&&2;
var num2 = true||false;
var result = num1*num2+3;
document.write(result);
A 0
B 4
C 5
D NaN
解析:var num1 = 1&&2; var num2 = true||false; var result = num1*num2+3 document.write(result);
分开运算:
var num1 = 1&&2;结果为2
var num2 = true||false;结果为true
var result = num1*num2+3为 2*true+3(true会隐式转换为1),结果为5
69.for..of与for..in的区别,以下说法正确的是 (A B C D)
A for in可以遍历对象,for of不能遍历对象
B for of可以用来遍历map集合,for in不能遍历map集合
C for in遍历数组得到的是数组的下标,for of遍历数组得到的是数组的元素
D for in遍历键 for of遍历值
70.以下对严格模式的说法正确的是 (A B C D)
A 使用"use strict"定义严格模式
B 严格模式可以定义在函数的最顶端或程序的最顶端
C 在严格模式下 在变量a 没有声明时 a = 10 ; 这样的赋值会报错
D 严格模式执行效率更高
71.对事件委托的说法正确的是 (B C D)
A 所有的事件都可以实现事件委托;
B 减少了事件绑定浏览器重绘的次数,提高了程序的执行效率;
C 减少事件的冗余绑定,节约了事件资源。
D 可以解决动态添加的元素节点无法绑定事件的问题;
72.对事件绑定的说法正确的是 (A C)
A 传统事件绑定(dom.onclick),不能同时绑定多个同一事件,后面的会覆盖前面的;
B 利用事件监听不能完成事件的绑定
C addEventListener()方法可以实现事件的绑定
D 传统事件触发,只能经过冒泡阶段,不经过捕获阶段;
73.事件中会产生哪些兼容问题 (A B C D)
A 事件对象的创建
B 事件冒泡
C 浏览器的默认行为
D 事件委托中事件源的获取
74.以下字符串方法支持正则表达式的有哪些 (B C D)
A indexOf
B match
C replace
D search
75,下面是正则中有意义的简写的有 : (A B C D)
A \d
B \w
C \s
D \S
76.关于 window 对象表述正确的有 (A B C D)
A window.open 方法 可以弹出一个新窗口
B window.location.reload()方法可以用来刷新当前页面
C window.location.href="a.html"的作用都是把当前页面替换成 a.html 页面
D 定义了全局变量 g;可以用 window.g 的方式来存取该变量
77.判断str是否含有字符串"abc",以下不正确的是 (A C D)
A str.repl(/abc/)!=-1
B str.indexOf('abc') >= 0
C str=='abc'
D 'abc'.includes(str)
解析:A选项:字符串没有index()方法,错误;
B选项:indexOf()就是检测数组是否含有某个数的,有返回下标,没有返回-1,正确选项
C选项:str=='abc'这个是检测完全匹配的,不能检测到是否包含有,这个写法要完全匹配才正确,所以错误
D选项:字符串没有includes()方法,这个方法是数组的方法,错误
78.什么属性用于获取 HTML 文件的根节点 A
A. documentElement
B. rootElement
C. documentNode
D. documentRoot
79.下列哪些不是es6中新增的: C
A.Objec.assign
B.Array.from
C.forEach
D. for of 循环
80.下面哪个事件属性可以获取鼠标光标到页面可视区(浏览器边框)水平坐标 A
A. clientX
B. offsetX
C. pageX
D. screenX
81.下列代码的执行结果为 function fn(){ console.log( this ) }; fn(); C
A. fn
B. undefined
C. window
D. windows
82.下列关于事件委托说法错误的是 B
A. 事件委托可以解决事件绑定程序过多的问题
B. 事件委托利用了事件捕获原理
C. 事件委托可以提高代码性能
D. 事件委托可以应用在click,onmousedown事件中
83.有var obj ={ name:”王大锤”, skill:”逗比”, logo:”日和漫画”} 使用循环将对象中的属性值依次取出并打印正确的是
A. for(var i=0; i<obj.length; i++){ console.log(obj[i]); }
B. for(var i=0; i<obj.length; i++){ console.log(obj.index); }
C. for(var attr in obj){ console.log(obj[attr]) }
D. return
解析:对象没有长度length,所以不能用for循环,需要用for in遍历。故A B错误,C正确
84.下面的 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;i<document.forms.length;i++) { if(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;i<document.forms.length; i++){ for(var j=0;j<document.forms[i].elements.length; j++){
if(document.forms[i].elements[j].type=="text") document.forms[i].elements[j].value=""; } }
85.foo对象有att属性,那么获取att属性的值,以下哪些做法是可以的
A foo("att")
B foo["att"]
C foo{"att"}
D foo[att
86.在JavaScript中,能够实现页面重新加载的选项是 ( )
A document.head
B document.getElementById
C location.href
D location.reload()
正确答案: D
解析:
1、reload 方法,该方法强迫浏览器刷新当前页面。
语法:location.reload([bForceGet])
参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页。true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5(“刷新”)
2、 replace 方法,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后退”来访问已经被替换的URL。
语法: location.replace(URL)
通常使用: location.reload() 或者是 history.go(0) 来做。
此方法类似客户端点F5刷新页面,所以页面method=”post”时,会出现”网页过期”的提示。
因为Session的安全保护机制。
当调用 location.reload() 方法时, aspx页面此时在服务端内存里已经存在, 因此必定是 IsPostback 的。
如果有这种应用: 需要重新加载该页面,也就是说期望页面能够在服务端重新被创建,期望是 Not IsPostback 的。
这里,location.replace() 就可以完成此任务。被replace的页面每次都在服务端重新生成。
代码: location.replace(location.href);
3、返回并刷新页面:
location.replace(document.referrer);
document.referrer //前一个页面的URL
不要用 history.go(-1),或 history.back();来返回并刷新页面,这两种方法不会刷新页面。
4、Javascript刷新页面的几种方法:
1,history.go(0)
2,location.reload()
3,location=location
4,location.assign(location)
5,document.execCommand('Refresh')
6,window.navigate(location)
7,location.replace(location)
8,document.URL=location.href
87.var n=10;setInterval(function(){ alert(n) var n=100; },1000)1s以后弹出n的值为()
A 10
B 100
C undefined
D 报错
正确答案: C
解析:
计时函数中,定义的变量n有声明提升,被提升到函数作用域顶部,即在alert()之前,只提升声明,变量赋值位置不变,所以为undefined
88.关于函数参数说法正确的是:( )
A 函数必须有参数
B 函数体中可以使用 arguments 来获取传递的实际参数值
C 函数必须有返回值
D 函数体中可以使用 parameters 来获取传递的实际参数
正确答案: B
解析:
可使用 arguments 在函数体中获取函数调用时的参数列表,在函数调用时,实参个数和形参个数可以不一致。
89.下列表达式运算结果为真的是
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”是一样的
90.以下代码 var arr=[12,23,34]; arr[0]=15; 经过执行后,arr[0]的值是( )
A 15
B 12
C 报错
D 以上都不对
正确答案: A
解析:
数组修改
91.有语句
var x=0;
while( ){
x+=2;
}
要使while循环体执行10次,空白处的循环判定式应写为
A x<10
B x<=10
C x<20
D x<=20
92.Jq中找到指定div元素id为user错误的
A $("#user")
B $("#"+"user")
C $("div[id=user]")
D $("div[id==user]")
正确答案: D
解析:元素获取
93.下列jquery对象方法中返回布尔值的是
A not()
B has()
C hasClass()
D fiter()
正确答案: C
解析:hasClass()有类名返回true,没有返回false
94.有代码 var name = 'global'; var obj = { name : 'obj', dose : function(){ this.name = 'dose'; return function(){ return this.name; } } } console.log(obj.dose().call(this)); 问在控制台打印的结果为
A global
B obj
C dose
D undefined
正确答案: A
解析:
obj.dose().call(this)
obj.dose()返回的是函数function(){ return this.name; }
call(this)是调用了函数function(){ return this.name; }
并且使用window改变了函数中的this,所有this.name就是window.name
95.下面的this指向不是window的是那个
A 全局中的this
B 普通函数,直接调用的函数中获取的this
C 按钮侦听的事件函数中的this
D 函数通过call调用时,第一个参数填入null,函数中的this
正确答案: C
解析:鼠标事件中this指向被侦听的对象
96.以下不是闭包特点的是
A 函数嵌套函数
B 函数内部可以引用外部的参数和变量
C 参数和变量不会被垃圾回收机制回收
D 返回的函数可以不用存储在外部变量中
正确答案: D
解析:返回的函数必须存储在外部变量中
97.下列输出结果正确的是 var a = 0; var obj = { fn : function(a){ a = 2; a --; } } obj.fn(a); alert(a);
A 0
B 1
C 2
D 报错
正确答案: A
98.下列箭头函数书写正确的是
A 0--{}
B a,b => {}
C _ =>
D caller
正确答案: C
99.JS中,下面哪个不是创建函数的方式
A 声明函数
B 函数表达式
C Function构造函数
D class函数
正确答案: D
100.关于jQuery框架,下列描述错误的是
A jQuery框架支持链式写法
B jQuery框架实现了跨浏览器的兼容包括IE低版本
C jQuery1.x版本支持低版本IE浏览器
D jQuery不能操作CSS3属性
正确答案: D
101.什么是闭包
A 闭包是指有权访问另一个函数作用域中的变量的函数
B 闭包是指有权访问任意函数作用域中的变量的函数
C 闭包是指有权访问全局个函数作用域中的变量的函数
D 闭包是指有权访问局部个函数作用域中的变量的函数
正确答案: A
102.混合继承是
A 混合了构造函数继承和原型链继承
B 其它都不对
C 混合了es6继承和原型链继承
D 混合了构造函数继承和es6继承
正确答案: A
103.$(document).ready()和window.onload 有什么区别
A window.onload方法是在网页中所有的元素完全加载到浏览器后才执行,$(document).ready() 可以在DOM载入就绪是就对其进行操纵
B 没有区别
C $(document).ready()方法是在网页中所有的元素完全加载到浏览器后才执行,$(document).ready() 可以在DOM载入就绪是就对其进行操纵
D 两者作用不一样
正确答案: A
解析:onload包含文档和资源加载完毕,ready指文档加载完毕
104.function People(name, age) { this.name = “xixi”, this.age = 18 return {} } var obj = new People(); People 函数被new调用之后的返回值(obj)是?
A {}
B {name: “xixi” age: 18}
C 报错
D 函数体本身
正确答案: A
解析:return 对象比实例返回优先级更高
105.下面函数运行的结果是 function fn6(fn) { return fn(3,5); } function fn7(a,b) { return a+b; } function fn8(a,b) { return a*b; } var s=fn6(fn7); var s1=fn6(fn8); console.log(s,s1);
A 3,5
B 5,3
C 8,15
D 15,8
正确答案: C
解析:这是一个回调函数的使用
106.以下运行的结果是false的是 function Box(){this.name='zhang';} function Desk(){this.age=100;} function Table(){this.lever=1000} Desk.prototype=new Box();//通过原型链继承 var desk=new Desk(); var table=new Table();
A alert(table instanceof Object)
B alert(desk instanceof Box);
C alert(Desk instanceof Box);
D alert(desk instanceof Desk );
正确答案: C
解析:A. 一切事物皆对象 B. Dest 继承了 Box, 所以正确
C. Desk 是 Function的实例,和Box无关 D. desk 是 Desk 的实例
107.以下哪条语句会产生运行错误
A var obj =()
B var obj=[]
C var obj ={}
D var obj ={[]}
正确答案: A,D
108.使用new运算符生成一个实例时,需要执行的步骤有那些
A 创建一个新对象
B 改变this指向
C 执行构造函数里的代码
D 返回一个对象
正确答案: A,B,C,D
解析:当代码 new Foo(...) 执行时,会发生以下事情:
一个继承自 Foo.prototype 的新对象被创建。
使用指定的参数调用构造函数 Foo ,并将 this 绑定到新创建的对象。new Foo 等同于 new Foo(),也就是没有指定参数列表,Foo 不带任何参数调用的情况。
由构造函数返回的对象就是 new 表达式的结果。如果构造函数没有显式返回一个对象,则使用步骤1创建的对象。(一般情况下,构造函数不返回值,但是用户可以选择主动返回对象,来覆盖正常的对象创建步骤)
109.svn在进行版本管理时,可以实现的功能有
A 更新至某个指定的版本
B 对某个文件进行锁定
C 创建多个分支
D 对某个文件解除版本控制
正确答案: A,B,C,D
解析:四个选项都是svn可以实现的
110.以下关于jquery的说法正确的是
A jquery可以和原生js结合一起使用
B jquery对象和原生DOM对象不能相互转换
C jquery对象可以使用原生js的方法
D 原生DOM对象不能使用jquery对象方法
正确答案: A,D
解析:jquery对象不可以使用原生js的方法
111.以下说法正确的是
A 类是对象的抽象化
B 对象是类的具象化
C 对象是类的实例化
D 对象就是类
正确答案: A,B,C
解析:在js中,类是构造函数
112.以下哪些属性是defineProperty可以定义的
A Enumerable
B Configurable
C Writable
D Value
正确答案: A,B,C,D
113.案例代码如下: <form> <div class="big">大字体</div> <div class="small">小字体</div> </form> 请选取文本是"大字体"的div对象
A $("div.big");
B $("div .big")
C $("div:contains('大字体')");
D $("form > div.big");
正确答案: A,C,D
解析:此题考察不同选择器的用法,B选项是选取div里具有big类名(后代)的jquery对象集合
114.关于prototype原型和原型链说法正确的是
A Javascript的继承机制基于原型,而不是Class类
B 凡是通过 new Function() 创建的对象都是函数对象,其他的都是普通对象
C 普通对象没有prototype,但有__proto__属性
D prototype属性(对象)会默认获得一个constructor(构造函数)属性,这个属性是一个指向prototype属性所在函数的指针
正确答案: A,B,C,D
115.$(this) 和 this 关键字在 jQuery 中有何不同
A $(this) 和 this 使用上没有什么不同
B $(this) 返回一个 jQuery 对象,你可以对它调用多个 jQuery 方法
C this 代表当前元素,它是 JavaScript 关键词中的一个,表示上下文中的DOM 元素
D this 可以调用 jQuery 的click() 方法
正确答案: B,C
解析:jquery对象只能访问jquery提供的方法,原生DOM对象不能直接访问jquery方法
116.在php中,下列哪些是输出(打印)函数。( )
A print
B echo
C print_r
D write
正确答案: A,B,C
117.下面哪些是mysql的常用数据类型( )
A varchar
B int
C float
D text
正确答案: A,B,C,D
118.jq中关于操作元素节点class属性的操作有
A addClass
B removeClass
C attr("class", "box")
D setClass
正确答案: A,B,C
解析:A是添加类名,B是删除类名,C是切换类名
119.jq中法可以发起ajax请求的方法有
A $.ajax
B $.get
C $.post
D $().load
正确答案: A,B,C,D
解析:识记题 $.ajax()jquery的底层封装 $.get() 封装get请求 $.getJSON()可以做跨域请求
120 .git切换分支的命令是
A git init
B git clone
C git checkout
D git add
121.关于require.js描述错误的是
A 用于解决多个js文件可能有依赖关系
B require.js推崇依赖前置,在定义模块的时候就要声明其依赖的模块
C require.js采用异步模块定义
D js加载的时候浏览器会停止页面渲染,加载文件越多,页面失去响应时间越长
122. 如何在SASS中引用父选择器:( )
A &
B $
C @
D #
123.sass支持的语法有哪些
A scss
B 缩进语法
C JS语法
D 选项
124.jQuery中,哪些方法可以创建插件函数?
A $.extend({abc:function(){})
B $.fn.extend({abc:function(){}})
C $.abc = function(){}
D $.fn.abc = function(){}
125.jq中,哪些能返回第一个li?
A $('li:eq(0)')
B $('li').eq(0)
C $('li:first')
D $('li:one')
版权声明:本文为weixin_51525398原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。