AO对象,GO对象 的预解析和再执行

博客主要介绍了AO对象的初始化步骤,包括创建对象、存储形参和变量声明、统一形参实参、存储函数声明等,还说明了AO对象再执行(赋值)的情况,并通过举例进行分析,最后提到GO对象与AO对象相同。

一、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);//123

   function a(){};

   console.log(b);//3

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值