如何深入理解 JavaScript?

一本JavaScript参考手册是不是已经覆盖了JavaScript的所有知识点?

或者通过学习JavaScript解释器的源代码可以透彻理解JavaScript?

我觉得市面上的大多数书籍,肯定是有一个共同的知识点来源,根据这个根本来源加上自己的一些分析编成书的。所以找到了这个共同的知识点来源,就可以不用看书或者少看书了。

阅读 4.3k
评论
    10 个回答
    • 17.1k

    楼主真的想深入 JavaScript 的话需要理解 JavaScript 是怎么实现的, 用 JavaScript 做什么?
    太长我简写 js 了.. 语言只是应用抽象到代码的一个环节而已,
    你想要了解透彻的话, 就主要了解各个环节, 从界面, 到逻辑, 到 js 引擎底层实现.

    界面上 js 用于操作 DOM, 所以了解 DOM 的使用必不可少, 甚至要设计 CSS 方面的事情,
    js 当前会为 DOM 生成多种类型, 也会为了渲染 WebGL 增加多种类型的数据,
    另外还有界面的性能优化, 代码稳定性, 编写模块, 设计 API 等等
    这些是应用方面的内容, 而且也会涉及到网络, 后端, 数据库等等内容

    js 的实现很多种, 比如 V8 就是将 js 编译字节码, 还有部分代码直接 JIT 到 native code.
    js 除了编译执行, 还有跨语言编译, 就会需要了解 AST, 以及一些 AST 变换, 多种方言
    另外考虑性能的时候还要考虑如何执行, 怎样进行垃圾回收, 怎样调试
    我们写 React 用到不可变数据, 还需要考虑怎么在 js 当中构造出不可变数据来

    另外关于编程的抽象, 需要了解各种编程范式, 而这不限于 js 本身提供的内容
    像前边说的, 在 js 里实现 js 没有的编程范式是怎样做到的
    关于数据代码抽象, 可能要学 SICP 了解其中的理论体系, 或者 Java 那样典型的语言
    关于业务的抽象, 需要经验, 需要大项目的规范, 等等各种知识

    上边列出的还只是和我有关系需要去学的. 题主想要深入的话, 估计还会有很多
    当然重点还是题主在业务当中遇到了什么? 需要学什么去解决掉眼前的问题?
    至于不用看书, 我觉得是可以的. 但是你依然要浏览大量的网页的文档, 知识分布在各个站点上
    如果只是说文档的量的话, 我估计不会少, 每年都有人开发新的技术, 永远别想看完

      相似问题
      推荐文章