全局中的解析和執(zhí)行過程

預處理:創(chuàng)建一個詞法環(huán)境(LexicalEnvironment,在后面簡寫為LE),掃描JS中的用聲明的方式聲明的函數,用var定義的變量并將它們加到預處理階段的詞法環(huán)境中去。

一、全局環(huán)境中如何理解預處理

比如說下面的這段代碼:

復制代碼
var a = 1;//用var定義的變量,以賦值 var b;//用var定義的變量,未賦值 c = 3;//未定義,直接賦值 function d(){//用聲明的方式聲明的函數 console.log('hello');
} var e = function(){//函數表達式 console.log('world');
}
復制代碼

在預處理時它創(chuàng)建的詞法作用域可以這樣表示: