为什么需要重学?填补基础认知的巨大鸿沟

很多前端开发者在工作中习惯于“能跑就行”,遇到 `this` 指向、原型链、闭包等底层概念时往往只能靠经验或模糊的记忆去堆砌代码。这种“知其然不知其所以然”的状态是最大的隐患,因为随着框架迭代,如果基础不牢,技术栈的迁移成本会变得极高。本课程专门针对想要打破技术瓶颈、构建扎实底层逻辑的开发者,从 JavaScript 语言本质出发,重新梳理前端知识体系。它不讲过时的 API,而是深入探讨对象分类、执行机制、类型细节等核心痛点,帮助你扫清认知盲区,为后续学习框架和高性能优化打下地基。

这门课适合谁?基础要求与学习策略

本课程主要适合已经具备一定前端开发经验,但觉得现有知识碎片化、逻辑混乱,渴望系统化重构技术栈的转岗人员或进阶学习者。不建议完全零基础直接入门,因为课程更侧重于“重”和“体系”,而非从 Hello World 讲起。建议在开始前,先快速浏览课程目录中的“学习路线”和“架构图”,对整门课的知识地图有个宏观把握。学习时不要死记硬背,重点在于理解语言运行的内在逻辑,特别是执行上下文、闭包和对象模型等抽象概念,需要结合具体代码案例反复咀嚼。

学完能做什么?从理解原理到独立重构

完成本课程的学习后,你将不再满足于使用现成的库,而是具备了阅读源码和独立设计系统架构的能力。你能够清晰地回答函数执行顺序为何如此、原型链如何查找属性、闭包带来的内存开销如何控制等底层问题。这种深度的理解将直接转化为在面试中的高分表现,以及在遇到复杂 Bug 时快速定位和解决的能力。最终,你将建立起一套属于自己的、逻辑自洽的前端知识体系,能够独立评估技术选型,并从容应对技术栈的升级换代。

如何配合资料进行高效练习?

为了巩固所学,建议将视频学习与配套的代码练习紧密结合。在观看关于 JavaScript 对象分类或执行机制的视频时,不要只看演示,务必在本地环境复现并修改代码,观察控制台输出。对于“开篇词”中提到的学习路线,建议将其作为你日常复习的导航图。通过不断的“理解原理—动手实践—总结输出”的循环,将课程中的知识点内化为肌肉记忆,真正做到查漏补缺,让知识结构从松散的碎片转变为稳固的体系。

课程目录

开篇词+学习路线+架构图 (3讲)

  1. 开篇词 _ 从今天起,重新理解前端
  2. 列一份前端知识架构图
  3. 明确你的前端学习路线与方法

模块一:JavaScript (15讲)

  1. JavaScript对象:你知道全部的对象分类吗?
  2. JavaScript对象:我们真的需要模拟类吗?
  3. JavaScript对象:面向对象还是基于对象?
  4. JavaScript执行(一):Promise里的代码为什么比setTimeout先执行?
  5. JavaScript执行(三):你知道现在有多少种函数吗?
  6. JavaScript执行(二):闭包和执行上下文到底是怎么回事?
  7. JavaScript执行(四):try里面放return,finally还会执行吗?
  8. JavaScript类型:关于类型,有哪些你不知道的细节?
  9. JavaScript词法:为什么12.toString会报错?
  10. JavaScript语法(一):在script标签写export为什么会抛错?
  11. JavaScript语法(三):什么是表达式语句?
  12. JavaScript语法(二):你知道哪些JavaScript语句?
  13. JavaScript语法(四):新加入的__运算符,哪里有些不一样呢?
  14. JavaScript语法(预备篇):到底要不要写分号呢?
  15. (小实验)理解编译原理:一个四则运算的解释器

模块三:浏览器实现原理与API (9讲)

  1. 浏览器API(小实验):动手整理全部API
  2. 浏览器CSSOM:如何获取一个元素的准确位置
  3. 浏览器DOM:你知道HTML的节点有哪几种吗?
  4. 浏览器事件:为什么会有捕获过程和冒泡过程?
  5. 浏览器:一个浏览器是如何工作的(阶段三)
  6. 浏览器:一个浏览器是如何工作的?(阶段一)
  7. 浏览器:一个浏览器是如何工作的?(阶段二)
  8. 浏览器:一个浏览器是如何工作的?(阶段五)
  9. 浏览器:一个浏览器是如何工作的?(阶段四)

模块二:HTML和CSS (16讲)

  1. CSS Flex排版:为什么垂直居中这么难?
  2. CSS 选择器:如何选中svg里的a元素?
  3. CSS动画与交互:为什么动画要用贝塞尔曲线这么奇怪的东西?
  4. CSS小实验:动手做,用代码挖掘CSS属性
  5. CSS排版:从毕昇开始,我们就开始用正常流了
  6. CSS渲染:CSS是如何绘制颜色的?
  7. CSS语法:除了属性和选择器,你还需要知道这些带@的规则
  8. CSS选择器:伪元素是怎么回事儿?
  9. HTML·ARIA:可访问性是只给盲人用的特性么?
  10. HTML元信息类标签:你知道head里一共能写哪几种标签吗?
  11. HTML小实验:用代码分析HTML标准
  12. HTML替换型元素:为什么link一个CSS要用href,而引入js要用src呢?
  13. HTML语义:div和span不是够用了吗?
  14. HTML语义:如何运用语义类标签来呈现Wiki网页?
  15. HTML语言:DTD到底是什么?
  16. HTML链接:除了a标签,还有哪些标签叫链接?

模块四:前端综合应用 (5讲)

  1. 前端架构:前端架构有哪些核心问题?
  2. 工具链:什么样的工具链才能提升团队效率?
  3. 性能:前端的性能到底对业务数据有多大的影响?
  4. 持续集成:几十个前端一起工作,如何保证工作质量?
  5. 搭建系统:大量的低价值需求应该如何应对?

特别加餐 (8讲)

  1. 加餐 _ 前端与图形学
  2. 加餐 _ 前端交互基础设施的建设
  3. 新年彩蛋 _ 2019,有哪些前端技术值得关注?
  4. 期中答疑 _ name(){}与name_ function() {},两种写法有什么区别吗?
  5. 期末答疑(一):前端代码单元测试怎么做?
  6. 期末答疑(二):前端架构中,每个逻辑页面如何可以做到独立发布呢?
  7. 用户故事 _ 那些你与“重学前端”的不解之缘
  8. 答疑加餐 _ 学了这么多前端的“小众”知识,到底对我有什么帮助?

课程迭代 (5讲)

  1. Node.js内存与流:从今天开始忘记字符串吧
  2. Node.js进程:从一段代码到完整程序
  3. npm:不只是包管理
  4. 再次起航|多视角看前端
  5. 控制台特性|实现丰富的命令行交互体验

尾声 (1讲)

  1. 尾声 _ 长风破浪会有时,直挂云帆济沧海