Appearance
JavaScript 模块导读
这是整条主链的起点
- JavaScript 不是一个单独的基础模块,而是后面浏览器、网络、Vue 和工程问题的语义地基。
- 如果这里的值模型、作用域模型和异步模型没站稳,后面很多框架题会看上去像会背名词,实际上并不成立。
先稳住三组能力
- 先搞清值和引用,否则深浅拷贝、闭包、原型链都会讲散。
- 再搞清执行时序,否则 Promise、事件循环、框架调度会全部黏在一起。
- 最后再看语言能力怎样被宿主接住,这一步会把你自然带到浏览器和框架。
这一模块最怕什么
- 把术语互相替换着说,例如把
prototype、__proto__、构造函数原型和实例委托混成一个词。 - 只会记结果,不会回到“是谁在保存状态、是谁在调度回调、谁决定查找路径”。
建议的阅读顺序
- 数据类型和作用域闭包先读,因为这两篇决定后面很多话能不能自洽。
- 原型链和事件循环放在第二层,它们最容易在高频追问里暴露底层不稳。
- Promise、async / await、拷贝语义则更适合放在已经有主链感之后再啃。