总结一下
面试前要精心做好准备,简历上写的知识点和原理都需要准备好,项目上多想想难点和亮点,这是面试时能和别人不一样的地方。
还有就是表现出自己的谦虚好学,以及对于未来持续进阶的规划,企业招人更偏爱稳定的人。
万事开头难,但是程序员这一条路坚持几年后发展空间还是非常大的,一切重在坚持。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
为了帮助大家更好更高效的准备面试,特别整理了《前端工程师面试手册》电子稿文件。


前端面试题汇总

=============================================================================
什么是回调地狱
多层回调函数的相互嵌套,就形成了回调地域,示例如下:

是不是很恐怖,就像是套娃一样。
回调地狱的缺点
-
代码耦合性太强,牵一发而动全身,难以维护。
-
大量冗余代码相互嵌套,代码的可读性和可复用性变差。
如何解决回调地狱问题
为了解决回调地狱的问题,ES6中新增了 Promise的概念。
- Promise 是一个构造函数。
我们可以创建Promise的实例 const p = new Promise()
new出来的Promise实例对象,代表一个异步操作。
- Promise.prototype 上包含一个
.then()方法。
每一次new Promise() 构造函数得到的实例对象,都可以通过原型链的方式访问到 .then() 方法,例如 p.then()。
- .then() 方法用来预先指定成功和失败的回调函数。
p.then(成功的回调函数,失败的回调函数)
p.then(result => {} , error => {} )
调用 .then() 的时候,成功的回调函数是必须填写的,但是失败的回调函数是可以选择的。
就是说要去请求三个文件,依次是文件一、文件二、文件三。但是不能保证文件的获取顺序,如果一次嵌套执行,就造成了回调地狱,所以呢,那么promise就派上用场了。
.then() 方法的特性
如果上一个 .then() 方法中返回了一个新的Promise实例对象,则可以通过下一个 .then() 继续进行处理,通过 .then() 方法的链式调用,就解决了回调地域的问题。
Promise支持链式调用,从而解决回调地狱的问题:
说明:本文中 thenFs 是一个读取文件插件,返回的是一个 Promise 实例

在 Promise 的链式操作中如果发生错误,可以使用 Promise.prototype.catch 方法进行捕获和处理:

当遇到错误,后面的 .then() 都不会在执行了,直接执行 .catch()方法中的内容。
如果我们不希望前面的错误导致后面的 .then() 无法正常工作,则可以将 .catch() 的调用提前,就像下面一样:

最后
小编综合了阿里的面试题做了一份前端面试题PDF文档,里面有面试题的详细解析
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】


虽只说了一个公司的面试,但我们可以知道大厂关注的东西并举一反三,通过一个知识点延伸到另一个知识点,这是我们要掌握的学习方法,小伙伴们在这篇有学到的请评论点赞转发告诉小编哦,谢谢大家的支持!
1万+

被折叠的 条评论
为什么被折叠?



