javaScript 预编译过程浅尝
javaScript 预编译过程
1.创建AO对象(Activation Object)
AO{
a:
}
2.找形参和变量声明,将变量和形参作为AO属性名,值为undefined
AO{
a:undefined
}
3.将实参形参相统一
AO{
a:2
}
4.在函数体内找函数声明,值赋予函数体
AO{
a:function a(){}
}
为学习javaScript的预编译过程,用了如下代码来验证:
在预编译时,AO创建a,a先获得undefined的值,然后形参实参相统一,a值为2,接着寻找方法体,获得值function a(){}
从预编译到执行a->undefined->2->function a(){}->1,所以
输出结果: