詞法分析

分析3樣東西函數

第一步:   先分析參數spa

第二步:在分析變量聲明對象

第三步:分析函數聲明io

  一個函數能使用的局部變量,就從上面的三步分析而來function

具體步驟:變量

0:函數運行前的一瞬間 生成Active Object(活動對象  簡稱AO)co

1:background

  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

相關文章
相關標籤/搜索