函数预编译流程
-
在函数被调用时为当前函数产生A0对象
-
查找形参和变量声明作为A0对象的属性名值为undefined
-
使用实参的值改变形参的值
-
查找函数声明作为A0对象的属性名值为function
示例
//1生产Window对象
// GO:1.查找变量的声明
// 2.查找数的声明 将用数a作为window刘象的属性名,值function
//全同预编译结束
// 执行代码
//执17行,调用下数a,生产响数a的A0对象
// AO:1.查找形参test,变量i作为A0对象的属性名,值undefined
// 2.实参1赋值给test,test:1
// 3.查找局部函数b,b作为A0对象的腐性名,值为function
//函数的预编译结束
//执行