作用域链,闭包

函数在执行的前一刻会产生AO

AO 执行顺序:

1.形参和变量申明

2.实参赋值给形参

3.寻找函数声明

4.执行函数

执行完成后会销毁

function test()

{

a=1;

function a(){

}

var a=2;

return a;

}

console.log(test());


AO={ a:undefined -> a() -> 1 (执行)-> 2(执行)}

 

作用域链

[[scope]]是存储 作用域链

 function a(){

  function b(){

    var b=2;

  }

}

a();

[[scope]]


 

posted @ 2019-11-19 10:49  依依24  阅读(82)  评论(0)    收藏  举报