JS代碼在運行時,先進行詞法分析,然後在運行執行代碼
詞法分析
1,先生成 Acitive Object 對象,簡稱AO{};
2,對參數進行分析,
2.1 將參數值轉化爲AO的屬性,且值爲undefined;
2.2 如果有形參傳遞,則把該AO屬性的值換成形參的值。
3,對用var 聲明的變量分析
Ⅰ,如果AO對象裏有該屬性,則不做任何處理。
Ⅱ,如果沒有,則形成AO屬性,且值爲undefined。
4,對聲明的函數進行分析
Ⅰ,如果沒有,則把函數作爲AO屬性。
Ⅱ,如果有,把函數作爲AO屬性無情替換原來的屬性。