前端常见面试题(十一)

目录:

1,ES5/ES6 的继承除了写法以外还有什么区别?

2,http状态码有哪些?分别是深恶意思?

3,浏览器是如何渲染页面的?

4,typeof和instanceof相同点与不同点

5,如何解决回调地狱?请手写代码

一:ES5/ES6 的继承除了写法以外还有什么区别?

1,ES5寄生组合式继承

2,ES6继承

ES6中子类继承父类的属性使用了super关键字,ES6语法实现是ES5的语法糖,表面上,ES6的类关键字和子类继承关键字 实现的结构和ES5继承一样,但是根本还是有差别的,ES5继承prototype属性是先实例化父类,直接继承;而 ES6是在实例化子类对象时继承父类的prototype,即实例化父类。

二:http状态码有哪些?分别是什么意思?

1**(信息类):表示接收到请求并且继续处理

100  Continue  继续,一般在发送post请求时,已发送了http header之后服务端将返回此信息,表示确认,之后发送具体参数信息

2**(响应成功):表示动作被成功接收、理解和接受

200  OK        正常返回信息

201  Created    请求成功并且服务器创建了新的资源

202  Accepted  服务器已接受请求,但尚未处理

3**(重定向类):为了完成指定的动作,必须接受进一步处理

301  Moved Permanently  请求的网页已永久移动到新位置。

302  Found      临时性重定向。

303  See Other  临时性重定向,且总是使用 GET 请求新的 URI。

304  Not Modified 自从上次请求后,请求的网页未修改过。

4**(客户端错误类):请求包含错误语法或不能正确执行

400  Bad Request  服务器无法理解请求的格式,客户端不应当尝试再次使用相同的内容发起请求。

401  Unauthorized 请求未授权。

403  Forbidden  禁止访问。

404  Not Found  找不到如何与 URI 相匹配的资源。

5**(服务端错误类):服务器不能正确执行一个正确的请求

500  Internal Server Error  最常见的服务器端错误。

503  Service Unavailable 服务器端暂时无法处理请求(可能是过载或维护)。

三:浏览器是如何渲染页面的?

1,简述浏览器渲染过程

1,解析HTML以构建DOM树:渲染引擎开始解析HTML文档,转换树中的html标签或js生成的标签到DOM节点,它被称为 — 内容树。

2,构建渲染树:解析CSS(包括外部CSS文件和样式元素以及js生成的样式),根据CSS选择器计算出节点的样式,创建另一个树 — 渲染树。,

3,布局渲染树: 从根节点递归调用,计算每一个元素的大小、位置等,给每个节点所应该出现在屏幕上的精确坐标。

4,绘制渲染树: 遍历渲染树,每个节点将使用,

2.CSS阻塞渲染

CSS 是阻塞渲染的资源。需要将它尽早、尽快地下载到客户端,以便缩短首次渲染的时间。

这就是为什么我们将外部样式的引入放在head标签中的原因,在body渲染前先把相对完整CSSOM Tree构建好。

3.JavaScript阻塞渲染

JavaScript 会阻止 DOM 构建和延缓网页渲染。 为了实现最佳性能,可以让您的JavaScript 异步执行,并去除关键渲染路径中任何不必要的 JavaScript。

你可能感兴趣的:(前端常见面试题(十一))