請看以下代碼:spa
console.log(a); var a = 2;
輸入結果會是什麼? 請說出理由code
可能會有三種答案:blog
一、2編譯器
二、拋出ReferenceError異常console
三、undifined編譯
對於編譯器來講 var a = 2; 這一條語句實際上是兩條 :class
var a; 和 a = 2;程序
在編譯過程當中會先執行全部的聲明,包括 var a;異常
當程序執行到第二行時再執行的 a = 2; di
因此輸入的結果應該是undifined;