预编译

JS运行三部曲

  • 语法分析
  • 预编译
  • 解释执行
    函数声明整体提升,变量声明提升

预编译前奏

1、imply global暗示全局变量:即任何变量,如果未经声明就赋值,此变量就为全局对象所有,全局对象即为window

eg: var a = b = 1;

2、一切声明的全局变量,全是window的属性。

eg: var a = 1; ===> window.a = 1;

预编译

1、创建AO对象
2、找形参和变量声明,将变量和形参名作为AO属性名,值为undefined
3、将室参值和形
4、在函数体里面找函数声明,值赋予函数体

posted @ 2020-06-04 19:49  lisalisalisa  阅读(119)  评论(0)    收藏  举报