执行环境-函数上下文

113 阅读1分钟

理解函数上下文的执行环境,有利于理解变量的赋值等流程。
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(){},
    }
1.1.3结果

image.png