1
与其他 IEEE 754 表示浮点数的编程语言一样,JavaScript 的 number 存在精度问题,比如 0.2 + 0.4 的结果是 0.6000000000000001。以下选项中,能得到 0.6 的是?
正确答案: B 你的答案: D (错误)
A.parseFloat(0.2 + 0.4)
B.parseFloat((0.2 + 0.4).toFixed(1))
C.Math.round(0.2 + 0.4)
D.parseFloat((0.2 + 0.6).toPrecision(1))
- parseFloat 解析一个字符串,并返回一个浮点数
- toFixed 把数字转换为字符串,结果的小数点后有指定位数的数字
- Math.round 把一个数字舍入为最接近的整数
- toPrecision 把数字格式化为指定的长度
| 选项 | 结果 |
|---|---|
| A | 0.6000000000000001 |
| B | 0.6 |
| C | 1 |
| D | 0.8 |
2
以下哪些事件会在页面加载完成(onload)之前触发?
正确答案: A D 你的答案: C (错误)
A. readystatechange
B. pageshow
C. beforeunload
D. DOMContentLoaded
A. readystatechange
document有readyState属性来描述document的loading状态,readyState的改变会触发readystatechange事件.
- loading 文档仍然在加载
- interactive 文档结束加载并且被解析,但是像图片,样式,frame之类的子资源仍在加载
- complete 文档和子资源已经结束加载,该状态表明将要触发load事件。
因此readystatechange在onload之前触发。
B.onpageshow onpageshow 事件在用户浏览网页时触发。 onpageshow 事件类似于 onload 事件,onload 事件在页面第一次加载时触发, onpageshow 事件在每次加载页面时触发,即 onload 事件在页面从浏览器缓存中读取时不触发。
C. beforeunload 当浏览器窗口,文档或其资源将要卸载时,会触发beforeunload事件。这个文档是依然可见的,并且这个事件在这一刻是可以取消的. 如果处理函数为Event对象的returnValue属性赋值非空字符串,浏览器会弹出一个对话框,来询问用户是否确定要离开当前页面(如下示例)。有些浏览器会将返回的字符串展示在弹框里,但有些其他浏览器只展示它们自定义的信息。没有赋值时,该事件不做任何响应。
D.DOMContentLoaded 当初始的 HTML 文档被完全加载和解析完成之后,DOMContentLoaded 事件被触发,而无需等待样式表、图像和子框架的完成加载。 另一个不同的事件 load 应该仅用于检测一个完全加载的页面。因此DOMContentLoaded是HTML完全加载和解析完成之后发生的,发生时间点要早于load,选D。
在使用 DOMContentLoaded 更加合适的情况下使用 load 是一个令人难以置信的流行的错误,所以要谨慎。 注意:DOMContentLoaded 事件必须等待其所属script之前的样式表加载解析完成才会触发。
3
以下哪一条Javascript语句会产生运行错误?
正确答案: A 你的答案: D (错误)
A.var obj=( );
B.var obj=[ ];
C.var obj={ };
D.var obj=/ /;
A是语法错误
B是创建一个数组对象
C是创建一个对象
D是一个创建正则对象;若为var obj=/ /; 即赋值被注释掉,及运行被结束;
4
在 es6 中,下面程序运行结果输出,选项结果正确的是

正确答案: D 你的答案: B (错误)
A.11,13,3,12,[3,4]
B.i not defined ,TypeError,TypeErrpr,4
C.11,12,3,3,4
D.i not defined,TypeError,3,12,[2,3,4]
const创建的对象属性可以被更改
5
以下代码中,为class为test的div对象设置红色背景的正确js代码为( )
`class``=``"test"``>
正确答案: B 你的答案: C (错误)
A.document.getElementsByClassName("test").style.backgroundColor="red";
B.document.getElementsByClassName("test")[0].style.backgroundColor="red";
C.document.getElementsByClassName("test")[0].style.background-color="red";
D.document.getElementsByClassName("test").style.background-color="red";
在js里面添加的属性名使用驼峰法,在css里面使用连接线 除了id和query 其他返回的都是节点列表
6
下列函数哪些是JavaScript的全局函数?
正确答案: A B D 你的答案: B (错误)
A.encodeURI
B.parseFloat
C.setTimeout
D.eval

setTimeout是Windows提供的方法
7
触摸事件包括以下哪几种?()
正确答案: A B C D 你的答案: A B C (错误)
touchesStart
touchesMove
touchesCancel
touchesEnd
以下是四种touch事件
touchstart: //手指放到屏幕上时触发
touchmove: //手指在屏幕上滑动式触发
touchend: //手指离开屏幕时触发
touchcancel: //系统取消touch事件的时候触发,这个好像比较少用
每个触摸事件被触发后,会生成一个event对象,event对象里额外包括以下三个触摸列表
touches: //当前屏幕上所有手指的列表
targetTouches: //当前dom元素上手指的列表,尽量使用这个代替touches
changedTouches: //涉及当前事件的手指的列表,尽量使用这个代替touches