什么属性用于获取 HTML 文件的根节点
documentElement
rootElement
documentNode
documentRoot
html文件的根节点为html,获取方式为document.documentElement
关于正则表达式声明6位数字的邮编,以下代码正确的是
var reg = /\d6/;
var reg = \d{6}\;
var reg = /\d{6}/;
var reg = new RegExp("\d{6}");
D选项错误,正确写法应为 var reg = new RegExp("\\d{6}")
要求用JavaScript实现下面的功能:在一个文本框中内容发生改变后,单击页面的其他部分将弹出一个消息框显示文本框中的内容,下面语句正确的是
<input type="text" onClick="alert(this.value)">
<input type="text" onChange="alert(this.value)">
<input type="text" onChange="alert(text.value)">
<input type="text"onClick="alert(value)">
onchange事件,在文本框内容发生变化切光标离开时触发
下列哪些不是es6中新增的:
Objec.assign
Array.from
forEach
for of 循环
forEach 是es5的
阻止事件冒泡,使用以下哪个方法
stopPropagation()
preventDefault()
cancelBubble = false
return false
阻止浏览器默认行为,使用以下哪个方法
stopPropagation()
preventDefault()
cancelBubble = false
return true
D
下列代码执行结果为真的是
1<2 && "5"!=5
2>2*1 || "5"==5
2>2*1 && 5==5
2>=2*1 && "5"===5
B
下列对象或数组的创建方式错误的是
var obj = { };
var obj = { [ ] }
var obj = [ { } ]
var obj = { age:30 }
下面可以获取浏览器在卷动后,隐藏的文档部分的高度的属性是
window.body.scrollTop
document.body.scrollTop;
document.scrolTop;
documentElement.body.scrollTop
基础属性
下列对的对常量的描述或定义不对的是
常量名只能用大写
const PI = 3.11;
const pi = 3.14
常量定义后不能被修改
在HTML页面中,下列选项不属于鼠标相关事件的是
onclick
onmouseover
onmousedown
onchange
在HTML页面中,下列选项不属于键盘相关事件的是
onkeyup
onkeydown
oncontextmenu
onkeypress
JavaScript是运行在哪里的脚本语言
server端(服务器端)
web端(浏览器端)
在服务器运行后,把结果返回到客服端
在客户端运行后,把结果返回到服务器
js就是运行在浏览器中的脚本语言。
要检测值是否为 NaN,应使用什么函数
Number()
parseInt()
whoisNaN()
isNaN()
应记忆的方法
下面哪个方法可以匹配数组是否含有某个值
sort()
push()
join()
indexOf()
回车键的keyCode值是 ?
12
13
32
33
开发时如果忘记了,可以console.log()进行确认
以下能获取到所有子节点(包括文字节点)的属性是 :
firstElementChild
children
childNodes
attributes
A、获取第一个元素节点
B、获取所有元素子节点
C、获取所有子节点,包含文本节点
D、获取所有属性节点
0.1+0.7 == 0.8 (0.1 + 0.7 计算结果是浮点数)
true
false
Infinity
NaN
由于计算机存储数字的特点,导致浮点数的计算存在误差。
0.1+0.7 === 0.7999999999999999
所以结果为false
以下哪个事件不存在
onclick
onblur
onlook
oninput
A、点击事件
B、焦点离开事件
D、输入框输入事件
在HTML页面中包含如下所示代码,则编写Javascript函数判断是否按下键盘上的回车键正确的编码是 (回车键的键盘码是13)<input name="password"; type="text" onkeydown="myKeyDown()">
function myKeyDown(){ if (window.keyCode==13){ alert("你按下了回车键")}};
function myKeyDown(){ if (document.keyCode==13){ alert("你按下了回车键");}}
function myKeyDown(){ if (event.keyCode==13){ alert("你按下了回车键")}}
function myKeyDown(){ if (keyCode==13){ alert("你按下了回车键")}}
keyCode是event对象下面的属性,keycode等于13说明按下了回车键
在Javascript语言中,当元素失去了焦点时激发的事件是
fouce
unload
mouseover
onblur
onblur当失去焦点时候触发,聚焦是onfocus,和onblur相反的事件
下列哪个不是javascript中的数据类型
string
boolean
undefined
num
数据类型分为两大类:
基本数据类型:string、number、undefined、boolean、null
复合数据类型:array、function、json……
使用 JavaScript 向网页中输出<h1>hello</h1>,以下代码中可行的是
<script type="text/javascript">document.write(<h1>hello</h1>);</script>
<script type="text/javascript">document.write("<h1>hello</h1>");</script>
<script type="text/javascript"> <h1>hello</h1></script>
<h1><script type="text/javascript">document.write("hello");</script></h1>
document.write()方法可以打印节点到页面显示,参数是字符串,如有标签需要写完整。document.write("<h1>hello</h1>");正确
关于mouseenter的说法,正确的是
与mouseup效果相同
当鼠标指针进入元素时,会发生mouseenter事件
和mouseover完全没有区别
与mousemove效果相同
和mouseover效果相同,但是比mouseover好,不会引起冒泡
下列代码的执行结果肯定不会是document.write(parseInt(Math.random()*3))
1
0
2
3
Math.random()*3可以生成0-2.999但是不包含3的随机数,parseInt()取整后就是0-2的整数。
如果今天是2006年5月14日,分析下列JavaScript代码运行后,在网页上显示()var now = new Date();var year = now.getFullYear();var month = now.getMonth();var date = now.getDate();document.write(year+" "+month+" "+date);
2006 05 14
2006 5 14
2006 04 14
2006 4 14
月份是从0开始计数的
下列let声明变量说法有误的一项是
let在某个{}内部使用时,外部不能访问该let声明的变量
用 let 声明变量没有声明提升
let声明的变量, 变量声明之前该变量不可用,这种现象就称作暂时性死区;
let 不允许重复修改变量
不允许修改的是常量
下列代码的执行结果是 var date = new Date(2016,12,11);注意 : 如果构造函数Date的参数是数值, 那么月份就从0开始 document.write(date.getFullYear() + " "); document.write(date.getMonth());
2016 12
2017 11
2017 0
2016 0
我们为日期对象设置了一个特定的日期 (2008 年 8 月 9 日):
var myDate=new Date() myDate.setFullYear(2008,7,9)
表示月份的参数介于 0 到 11 之间。也就是说,如果希望把月设置为 8 月,则参数应该是 7。
所以上题:var date = new Date(2016,12,11);就是想设置月份为0月份,16年12月的下一个月就是17年了,所以是2017 0
下列代码的执行结果是 var num1 = 1&&2;var num2 = true||false; var result = num1*num2+3; document.write(result);
0
4
5
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
正则表达式: /^[a-zA-Z]\w{4,9}$/ 代表什么意思
字母开头,内容只能包含数字字母下划线,总长度5至10之间
字母开头,内容必须包含数字字母下划线,总长度4至9之间
非数字开头,内容任意,总长度5至10
非数字开头,内容任意,总长度4至9
/[a-zA-Z]/ 字符类代表任意字母
\w代表任意数字字母下划线
{n,m}代码前边的字符至少重复n次,最多重复m次
下面表示定时器的有
keyframes
setInterval
setTimeOut
animate
111
正则对象的方法包括
test();
index()
exec()
match()
正则的对象方法只有2个,其他属于字符串的方法.
exec() 找到了返回数组,找不到返回null.
test() true或false.
对事件委托的说法正确的是
所有的事件都可以实现事件委托;
减少了事件绑定浏览器重绘的次数,提高了程序的执行效率;
减少事件的冗余绑定,节约了事件资源。
可以解决动态添加的元素节点无法绑定事件的问题;
33
以下表达式能生成1-10(包含1、10)间随机数的是
Math.floor(Math.random()*9)
Math.ceil(Math.random()*10)
Math.floor(Math.random()*10)+1
Math.floor(Math.random()*10)
下面哪些是全局方法
prompt()
match()
alert()
confirm()
uuu
下面哪些属于数组的方法
sort( )
push()
indexOf()
join()
下面哪个不是数组的方法
map()
split()
filter()
test ()
split 是字符串方法 test 是正则方法
更改h1标签内容可以用以下哪个属性
innerText
valueof
innerHTML
value
aaa
字符串的操作方法有
indexOf
lastIndexOf
charAt
charCodeAt
String.fromCodePoint(97) ===> a
String.fromCharCode( 65) ===> A
给元素添加事件监听正确的方法有
oDiv.onclick()
oDiv.attachEvent()
oDiv.addEventListener()
oDiv.detachEvent()
A的正确用法为oDiv.onclick = function () {}
D为IE8接触事件绑定的方法
以下字符串方法支持正则表达式的有哪些
indexOf
match
replace
search
字符串的一些方法是和正则一起使用比较多的,比如match()匹配、replace()替换、search()查找
假设有一输入框的DOM名称为otxt,以下能获取输入框值(value)的是
otxt.getAttribute("value")
otxt.value
otxt["value"]
otxt.getValue()
getAttribute()是获取属性值的方法,因为value就是属性值,otxt.value和otxt["value"]都可以获取属性值,所以ABC正确,D选项,没有getValue()方法,错误
如何阻止事件冒泡
cancelBubble
return true
event.preventDefault
event.stopPropagation()
浏览器有一些默认行为,比如右键菜单,点击跳转,文字选中效果,拖拽鬼影等,如果出现莫名其妙的问题,也可能是默认行为导致的,阻止默认行为:event.preventDefault和return false,阻止冒泡:cancelBubble和event.stopPropagation();。
拖拽效果中,需要用到的事件有
onmousemove
onmousedown
onmouseup
onclick
拖拽的原理:按下的时候(onmousedown)通过鼠标的坐标和盒子的offsetLeft和offsetTop计算差值offsetX和offsetY;按着盒子拖拽的过程中(onmousemove)从新用新的坐标和刚才计算的差值计算新的left和top,这是拖拽的原理。所以得 :left=ev.clientX-offsetX; top=ev.clientY-offsetY;正确答案就是A B
关于 window 对象表述正确的有
window.open 方法 可以弹出一个新窗口
window.location.reload()方法可以用来刷新当前页面
window.location.href="a.html"的作用都是把当前页面替换成 a.html 页面
定义了全局变量 g;可以用 window.g 的方式来存取该变量
全部是window之中的方法
下面哪些方法不是正则的方法
search()
match ()
replace ( )
test ()
ABC都是字符串方法
判断str是否含有字符串"abc",以下不正确的是
str.repl(/abc/)!=-1
str.indexOf('abc') >= 0
str=='abc'
'abc'.includes(str)
A选项:字符串没有index()方法,错误;
B选项:indexOf()就是检测数组是否含有某个数的,有返回下标,没有返回-1,正确选项
C选项:str=='abc'这个是检测完全匹配的,不能检测到是否包含有,这个写法要完全匹配才正确,所以错误
D选项:字符串没有includes()方法,这个方法是数组的方法,错误
ES6中新增的声明变量的关键字有
function
let
const
str
let用来声明变量
const用来声明常量
解构赋值可以做到以下哪些事
一次性可以定义多个变量
可以作用在函数的传参上,以对象的方式传递,参数顺序也无须保持一致
可以轻松实现两个数的交换
可以实现一个函数返回多个结果
122
下列有关事件对象之中属性的描述,正确的有
event.clientX、event.clientY:获取鼠标相对于浏览器可视窗口的x轴值和y轴值
event.pageX、event.pageY类似于event.clientX、event.clientY,但它们使用的是文档坐标 (相对于文档的x轴距离和y轴距离)而非窗口坐标
event.offsetX、event.offsetY:鼠标相对于用户显示器屏幕左上角的X,Y坐标
event.screenX、event.screenY:鼠标相对于事件源元素(srcElement)的X,Y坐标
三大家族的知识要熟悉