理解函数上下文的执行环境,有利于理解变量的赋值等流程。
activation object 激活对象,也叫 函数上下文
1.解析流程
①寻找形参和var变量申明
②实参赋值给形参
③寻找函数申明,赋值
④按顺序执行每行代码
1.1案例
function test(a,b){
console.log(a);
console.log(b);
console.log(c);
c=0;
var c;
a=5;
b=6;
console.log(b);
function b(){}
function d(){}
console.log(b);
}
test(1);
1.1.2分析
第一步:找形参有 a,b ;var申明有 c
第二步:实参赋值 a=1
第三步:找函数体,赋值 b = function (){};function d(){}
第四步:逐行执行代码 c=0;a=5;b=6
1.1.2图解
AO{
a:undefined,--->
1,
5,
b:undefined,--->
function b(){},
6,
c:undefined,--->
0,
function d(){},
}