码迷,mamicode.com
首页 > 其他好文 > 详细

词法分析

时间:2018-10-31 15:34:25      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:属性   fun   span   分析函数   第一步   back   efi   size   var   

分析3样东西

第一步:   先分析参数

第二步:在分析变量声明

第三步:分析函数声明

  一个函数能使用的局部变量,就从上面的三步分析而来

具体步骤:

0:函数运行前的一瞬间 生成Active Object(活动对象  简称AO)

1:

  1.1    函数声明的参数,形成AO的属性,值全是undefined

  1.2    接受实参,形成AO相应的属性的值

2:     分析变量声明声明如var age

        如果AO上还没有age属性,则添加AO属性,值是undefined

        如果AO上已经有age属性,则不做任何影响

3:  分析函数声明 ,如 function foo(){},

        则把函数付给AO.foo属性

注:如果此前foo属性已存在 则被无情的覆盖了

function a(b){

 alert(b);

function b(){

   alert(b);

}

b();

}

a(1);

分析期

AO={}

AO={b:undefined}

AO={b:1}

分析变量声明:var 没有

分析函数声明

AO={b:function(){alert b;}}

 

执行期间

alert(b);

b();

输出两个函数体b

 

词法分析

标签:属性   fun   span   分析函数   第一步   back   efi   size   var   

原文地址:https://www.cnblogs.com/liveoutfun/p/9882875.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!