一 目的
使开发人员对javascript语言有较深入的理解,提升开发人员的js功底,在以后的项目中更准确、高效的使用js,编写出高质量的js程序。
二 解释型动态类型弱类型多范式语言

2.1语言按各种方法可以分为各种类型,按编译执行过程,可以分为编译型语言和解释型语言。

比如c语言,必须先经过编译生成目标文件,然后链接各个目标文件和库文件,生成可执行文件。
Java、scala则是先编译成字节码,然后解释执行字节码(可以理解为编译型语言也可以理解为解释型语言)。
准确的理解,java是编译型语言,源代码整个编译成字节码,java字节码,再被解释执行。
Python是解释型语言,不过也可以先进行编译,编译成python的字节码。
Javascript是解释型语言。目前貌似还没有直接将js整个编译然后才执行(有说法是js动态性太强,先整体编译难度太大,执行性能不如解释执行高)。
注意:解释型语言也是需要编译的。区分编译型语言和解释型语言,是看源代码是否整个编译成目标代码然后执行还是编译一段执行一段。
JavaScript ( JS ) 是一种轻量级解释型的,或是JIT编译型的程序设计语言(参考https://developer.mozilla.org/zh-CN/docs/Web/JavaScript)
对于传统编译型语言来说,编译步骤分为:词法分析、语法分析、语义检查、代码优化和字节生成。
但对于解释型语言来说,通过词法分析和语法分析得到语法树后,就可以开始解释执行了(根据语法树和符号表生成机器码)。
这也就解释了为什么都说js是解释执行的,读一句执行一句,但是实际上js中还没执行到的代码语法错误导致整个js不会执行的问题。
在浏览器中,多个