一、前端背景:
随着前端技术的日新月异,前端应用的复杂度日益提升。与此同时,市场上对于前端人才的要求也愈加严格。
二、初级前端面临的囧境:
很大一部分人的技术水平停留在只会调用框架api的层面,对于框架的底层逻辑一知半解,甚至只能靠死记硬背,很少有人愿意花时间深究javascript,因此造成了一些列的问题:
1、对框架源码理解起来很困难,只会用框架完成业务逻辑,不注重性能优化
2、只会调用框架api,对于一些复杂、依赖原生javascript实现的组件,开发起来很吃力,甚至难以完成开发需求
3、工作中往往需要阅读别人的代码去了解项目情况,对于公司内部他人自研的组件理解起来困难,更别说在这个基础上维护拓展了。
三、模块架构
1、模块一,我会深入讲解 JavaScript 数据类型、继承、闭包等核心基础知识,分析它们的底层原理。这是构建前端工具的基础,只有掌握好这部分内容,你才能为以后的编码能力打下基础。
2、模块二,我会从数组原理、数组排序两大方向带你了解它,比如梳理数组 API、实现数组扁平化,以及数组 sort 方法。在每次写前端业务逻辑、处理一些数组数据的时候,不用再去翻看相关的数组 API 文档,从而提升你的开发效率。
3、模块三,由于 Javascript 语言的执行环境是“单线程”,如果有多个任务,就必须排队,前面一个任务完成,再执行后面的任务,因此在浏览器端比较耗时的操作都应该进行异步操作来减少等待时间。会从 JavaScript 最基础的异步编程方式讲起,比如 Promise、Async/await、Co 等。当掌握了 JavaScript 异步编程源码精髓,你就可以摆脱前端代码的“回调地狱”,更优雅地实现并解决业务场景的复杂问题、提升页面性能。
4、模块四,浏览器核心 V8 引擎相关的内容,它是执行 JavaScript 代码的程序或解释器,通过讲解浏览器垃圾回收机制、浏览器核心引擎的工作逻辑等内容,帮助你理解 JavaScript 代码是如何被 V8 引擎编译和执行的。这对于写出高性能的 JavaScript 代码帮助甚大。