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

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

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

比如說下面的這段代碼:

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

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