首页 > 代码库 > Javascript 的词法分析
Javascript 的词法分析
Javascript 的词法分析
过程:
1、先分析参数
2、再分析变量声明
3、分析函数声明
具体步骤:
1、函数运行前的瞬间,生成 Active Object (AO)
2、
2.1 函数声明的参数,形成AO的属性,值全部是 undefined
2.2 接受参数,形成AO相应的属性值
3、分析变量声明,如 var arg,
如果AO上还没有这个arg的属性,则添加AO属性,值是undefined
如果AO上已经有arg这个属性,则不做任何影响
4、分析函数声明,如 function foo(){},
则把函数赋给 AO.foo属性
注:如果此前foo属性已经存在,则被覆盖掉
例子:
function test(a){ var a = ‘hello‘;
alert(a); function a(){ } alert(a); } test(null); //两次输出 hello
分析过程:
1、AO= {}
2、分析参数AO={a:undefined},赋值 AO={a:null}
3、分析a变量声明,AO已经有a属性,因此不影响
4、分析a函数声明,AO.a=function(){},被覆盖成函数
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。