javascript词法分析

词法分析


当我们运行一个函数,一瞬间会产生一个Active Object(以下简称为AO)

e.g:
function t(a){
    var a=5;
console.log(a);
}
t(100)
词法分析:t.AO={}
函数运行后:1.接收参数,t.AO={a:100}
2.分析var声明,在AO上,形成属性,以var的变量名为属性名,值为undefined,如果AO上已经有了同名的属性参数不受任何影响。

3.分析函数声明,AO上如果有与函数同名的属性,则会被函数覆盖,
t.AO.green=function(){.....}

function t(green){
    console.log(green);
    
//  function green(){
//      alert("hfdhfh")
//  }
    var green=function(){
        alert('hello')
    }
}
t(3);

你可能感兴趣的:(javascript词法分析)