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对象


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部