预编译

53 阅读1分钟

1.函数声明整体提升 2.变量 声明提升/不提升赋值

预编译发生在函数执行的前一刻 。 1.创建AO对象 (活跃对象/作用域/执行期上下文) 2.找形参和变量声明 ,将形参的名和变量作为AO属性名,值为undefined 。 3.将实参值和形参统一 。 4. 在函数体里面找函数声明,值赋予函数体 。

image.png

打印结果:function a(){ } /123 /123 /function (){}