關於JavaScript變量提高

 

請看以下代碼: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;

相關文章
相關標籤/搜索