前言
Javascript从编译到执行的过程:
- 词法分析
- 语法分析
- 预编译
- 解释执行(解释性语句,解释一条,执行一条)
预编译整体原则
函数声明,整体提升;变量声明,声明提升。
函数预编译
- 建立AO对象
- 找形参和变量声明,使其作为AO属性名,并赋值undefined
- 实参形参相统一
- 找函数声明,函数名作为AO属性名,值赋予函数体
全局预编译
- 建立GO对象
- 找变量声明,值赋予undefined
- 找函数声明,值赋予函数体
Javascript从编译到执行的过程:
函数声明,整体提升;变量声明,声明提升。