语法分析
在执行之前浏览器会通篇扫瞄一边所有的语句,看有没有语法错误,标点符号错误,在通篇扫瞄的时候就叫语法分析;
预编译
1:imply global 暗示全局变量:即任何变量,如果变量未经申明就赋值。此变量就为全局对象(window)所有。
& a = 123;
& var a = b =123;
2:一切申明的全局变量,全是window的属性
& var a = 123; ===> window.a = 123;
四部曲:
预编译发生在函数执行的前一刻
1:创建Ao对象
2:找形参和变量申明,将变量和形参名作为AO的属性名,值为undefined
3:将实参之和形参值统一
4:在函数体里找函数申明,值赋予函数体
全局预编译:
1:生成一个GO对象 GO === window
2:找形参和变量申明,将变量和形参名作为AO的属性名,值为undefined
3:在函数体里找函数申明,值赋予函数体
解释执行
解释一行执行一行;