明确学习路径与方法
学习路径与学习方法
0 基础入门的同学,可以读几本经典的前端教材,比如《JS 高级程序设计》《精通css》等书籍。去阅读一些参考性质的网站,比如 MDN。
此专栏,老师希望传达的不仅仅是具体的知识点,还有体系架构和学习方法。三个目标:
- 带你摸索出适合自己的前端学习方法
- 帮助你建立起前端技术的知识架构
- 让你理解前端技术背后的核心思想
两个前端学习方法:
一、建立知识架构
JS: “用规定的文法,去表达特性语义,最终操作运行时的”
- 文法
- 词法
- 语法
- 语义
- 运行时
- 类型
- 执行过程
文法可以分成词法和语法,来自编译原理的划分同样是完备的。语义则跟语法具有一一对应关系,这里暂时不区分。
对于运行时部分,这个划分保持了完备性,我们都知道:程序 = 算法 + 数据结构,那么,对运行时来说,类型就是数据结构,执行过程就是算法。
当我们再往下细分,就会看到熟悉的概念了,词法中有各种直接量、关键字、运算符,语法和语义则是表达式、语句、函数、对象、模块,类型则包含了对象、数字、字符串等……
二、追本溯源
有一些知识,背后有一个很大的体系。比如对比下 CSS 里面的两个属性:
- opacity
- display
虽然都是“属性”, 但是他们背后的知识量完全不同,opacity 是个非常单纯的数值,表达的意思也很清楚,而display 的每一个取值背后都是一个不同的布局体系。要讲清楚display,就必须关注正常流(Normal Flow)、关注弹性布局系统以及grid 这些内容。
总结成一句话的意思就是:要了解一个知识点,就必须究其背后的原理。
前端知识框架图
课程的两个目标:一个是把无法通过查阅解决的原理和背景讲清楚,另一个是把不方便查阅和记忆的内容整理好