前端刷题001

277 阅读4分钟

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))
  1. parseFloat 解析一个字符串,并返回一个浮点数
  2. toFixed 把数字转换为字符串,结果的小数点后有指定位数的数字
  3. Math.round 把一个数字舍入为最接近的整数
  4. 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 中,下面程序运行结果输出,选项结果正确的是

img

正确答案: 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

img

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