javascript詞法分析

JavaScript代碼自上而下執行,可是在js代碼執行前,會首先進行詞法分析,因此事實上,js運行要分爲詞法分析和執行兩個階段。函數

詞法分析
詞法分析主要分爲3步:
第1步:分析形參
第2步:分析變量聲明
第3步:分析函數聲明對象

若是存在函數嵌套,則從外往內進行詞法分析ip

具體步驟:
0、在函數執行的一瞬間,生產 Active Object(活動對象)io

一、分析形參

1.1 函數聲明的形參,造成AO的屬性,默認值是undefined,
1.2 接收形參,給剛剛造成AO的屬性的形參賦值function

二、分析變量聲明,如 var age;(變量的值是在運行時期決定)

2.1 若是AO上尚未age屬性,則給AO添加age屬性,默認值是undefined
2.2 若是AO上已經有age屬性,則不作任何操做。變量

三、分析函數聲明!如 function foot(){}

3.1 若是AO上沒有foot屬性,則把函數賦給AO.foot屬性
3.2 若是AO上有foot屬性,則會直接覆蓋,把函數賦給AO.foot屬性undefined

相關文章
相關標籤/搜索