js词法分析


function getItem(id){
    var msg = 'msg'; // 变量的声明
    ww = 'global'; // 变量赋值
    function search(){  // 函数的申明
        alert('hello'); 
    }
    
    var foo = function(){   // 函数表达式
        alert('world');
    };
}
getItem(1);
函数在运行前,生成Active Object(活动对象 AO).
1.分析函数的形参,形成AO的属性,值为undefined,如 AO={id:undefined}
2.接收形参的值,更新AO的属性值,AO={id:1}
3.分析变量声明,如 var msg
    如果AO上没有msg属性,则添加AO属性,值是undfined
    如果AO上已有msg属性,则不做处理
4.分析函数声明,如 function search(){},把函数付给AO.serach属性,
    如果此前有了search属性,则会覆盖之前的search属性,

转载于:https://my.oschina.net/helloworldcoding/blog/793901

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值