# 0x00. 前言

JavaScript 这门语言已经不容小觑了,在项目中的前端部分基于 VueJS 和 ElementUI 之后,我也就顺应历史潮流深入了解了一下这门不容小觑的语言。

# 1. 为什么是 JavaScript

为什么是 JavaScript 呢?

因为太火,不得不认真学习一下。

我本人对 JavaScript 这种语言是有偏见的,这点我不会掩饰,我始终记得在正常的语言 Python / Java / C# 中实现一个休眠的简单功能和在 JS 中实现一个休眠功能的差别。

在 Python 中有很多语法糖,内置数据结构丰富,而 JS 则并不是如此,数据类型相对少,Bool 判断混乱,而今天,这门混乱的语言在流行程度上几乎接近于 Java 这门语言,即便是存在这样或者那样的问题,JavaScript 依然是一种奇葩的王者。

在服务端,有多少功能是 Python 完不成而 JavaScript(即 NodeJS) 可以胜任的呢?而且,NodeJS 写起来的感觉比起 Python 来说,还是差了很多,所以,我比较倾向于把计算类和 IO 类的操作用 Python 来写,至于浏览器端就交给 JavaScript 好了。

那么,对 JS 的这种定位,也使得我对 JS 生态圈的掌握程度不会超过 Vue/React 系。

# 2. 工具链

# 2.1. 浏览器端

# 2.2. 桌面端

# 2.3. 客户端

# 4. 文档

# 5. 社区

# 6. 书籍

# 0x01 基本概念

# 1. 数据类型

  • Number (没有 INT 值,只有 double-precision 64-bit format IEEE 754 )
  • String
  • Boolean
  • Symbol (new in ES2015)
  • Object
    • Function
    • Array
    • Date
    • RegExp
  • null
  • undefined

# 2. 操作

# 操作

# 操作

# 3. 语句

# 0x02 中级概念

# 函数

# 作用域

# 模块

# 面向对象

# 错误 / 调试测试

# IO 编程

# 进程和线程

# 多线程

# 多进程

# GIL

# 协同式多任务处理
# 抢占式多任务处理
# 线程安全

# 正则表达式

# 0x03 高级技巧

# 0x04 标准库

# 常用内建模块

# 系统化模块

# 安全性

# 性能

# 0x05 NPM && Yarn

# 0xEE 文章更新

  • 2017-07-05 19:43:00 : 初始化本文