JS进阶系列-第零篇-引言

Posted by Kylen on 2019-06-20

为何有这个系列?

我把JS分为基础和进阶两个部分,基础部分主要包含JS本身的一些标准和常用的属性和方法等。进阶部分则主要包括JS运行机制,也可说是JS执行引擎的知识点,以及在此基础上的JS的一些高级技巧。

熟悉掌握JS基础知识之后,熟练使用各类型变量的各种属性方法,封装函数,已经可以驾驭很多业务场景。但不免很多时候对一些细节会产生疑惑。比如面试中经常问到的变量申明提升、异步代码执行顺序等问题。这个时候就会发现基础的知识远远不够。

我们知道语言一般分为标准和实现两个部分。比如JS其实可分为ECMAScript标准和具体实现标准的实现,也就是JS引擎,比如Chrome的V8。学习一门语言,除了熟悉标准,如何code,也要知道它是如何运行起来的。所以这部分的内容对前端来说本身就是不可缺失的。

进阶内容体系

JS进阶知识体系图
js-advanced 2019-06-20 下午4.00.55.png

整个进阶体系包括两个部分,第一部分主要讲清楚JS的运行机制。这个部分主要分三块:第一块是了解整个体系必须掌握的基础知识点,包括单线程、内存空间、面向对象的知识点;第二块主要说明JS的执行过程,在拿到JS代码之后,执行引擎的处理过程。以及一个复杂的事件循环的执行过程是怎样的;第三块主要对执行过程中的一些关键概念着重分析,增强对它的理解。

第二部分的内容偏实践。每个专题都是JS经常谈及的一些高级话题。在知道JS如何运行之后,再回头捋一捋这些问题。目前准备写三个专题,分别是回调地狱及其解决方案、经典场景的高阶函数、各种功能的自我实现。