第一课
高级语言与低级语言各自的特点
高级语言:
- 简单、抽象;
- 方便读写;
- 执行效率差;
- 需要编译;
低级语言(机器语言):
- 执行速度快;
- 难编写;
- 易出错;
- 兼容性差;
JavaScript语言
- JS语言是 函数式编程 + 面向对象编程;
- JS 是动态类型语言:编写代码时不需要写明变量类型;相较于静态类型语言,源代码中提供的信息太少了,编译器无法在代码运行前编译出机器代码。
- JS 运行速度快:采用了 JIT(Just-In-Time Compilation 运行时编译)技术;p.s. (AOT运行 前编译[C++])
- JS引擎:在 js 代码被 CPU 执行前将其转换为低级的机器语言并执行的程序;
Chrome: V8 引擎、Webkit: JavaScriptCore、FireFox: SpiderMonkey等。- js 引擎编译 js 代码时大致流程
js 源码 -> parser(解析器) -> AST(抽象语法树) -> 解释器(interpreter)-> bytecode(字节码: 与平台无关) -> 机器代码
第二课
V8 引擎简介
V8 引擎是一个接收 JavaScript 代码,编译代码然后执行的 C++程序,编译后的代码可以在多种操作系统多种处理器上运行。