AO对象,GO对象 的预解析和再执行
一、AO的初始化步骤
1.创建一个AO对象 AO{}
2.将函数内所有的 形参 和 变量声明的名 存储到 AO对象中,value为undefined
3.将形参和实参进行相统一
4.将所有的函数声明的函数名作为AO对象中的key,函数体内容为value存储到AO对象中
二、AO再执行 (赋值)
三、举例分析
function test(a,b){console.log(a);//ƒ a(){};var c=123;console.log(c);//123function a(){};console.log(b);//3function c(){};var b=function cd(){}console.log(b);//ƒ cd(){}}test(1,3);
分析:
1:
AO{ }
2:
AO{
a:undefined,
b:undefined,
c:undefined,
}
3:
AO{
a:1,
b:3,
c:undefined,
}
4:
AO{
a:function a(){},
b:3,
c:function c(){},
}
5:执行---赋值
AO{
a:function a(){},
b:function cd(){},
c:123,
}
四、GO对象同AO对象
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
