预解析

Javascript预解析
预解析分析完毕后,开始逐行执行代码,沿着test.AO对象开始执行代码。活动对象后期肯定会发生改变的.预解析过程分析过的就不用管,没分析执行(var后面的赋值部分)
预解析(预编译)步骤
①函数在执行前的一瞬间会生成一个AO(active object活动对象)对象
②分析参数,形参作为AO对象的属性名,实参作为AO对象的属性值
③分析var声明,变量名作为AO对象的属性名,值为undefined,如果遇到同名,不会去对AO对象做任何改变
④分析函数声明,函数名作为AO对象的属性名,值为函数体,如果遇到同名,直接以函数声明为主,直接覆盖
作用域链
全局作用域,对应的对象是GO(global object),进入script标签以后,在所有代码之前会产生,产生的方式可以说跟AO完全相同,只是少了参数这一个步骤
步骤:
①在进入script标签,代码执行前的一瞬间会生成一个GO(global object)对象
②分析var声明,变量名作为GO对象的属性名,值为undefined,如果遇到同名,不会去对AO对象做任何改变
③分析函数声明,函数名作为GO对象的属性名,值为函数体,如果遇到同名,直接以函数声明为主,直接覆盖

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值