2015年12月9日

[筆記] JavaScript: undefined不是真的undefined !!


在JavaScript中有時候我們會到看undefined,究竟什麼是undefined是什麼呢?
我們先來看一段簡單的程式碼:


其中a我們有進行宣告(declaration)的動作,然後去呼叫它,b則是沒有進行宣告就直接呼叫它。然後我們會得到以下的結果:


其中undefined指的是a,b則是not defined。
也就是說,當我們a已經宣告過(declaration),只是沒有值時,我們會得到undefined;而b是完全沒有經過宣告,因此會出現錯誤訊息,並且顯示b is not defined
更精確的來說,其實undefined也是一個值

undefined也是一個值


讓我們來看看,要怎麼說明undefined在JavaScript中也是一個值呢?

我們把上面那段程式碼稍微改一下,改成:


這時候我們會得到如下的結果,代表a的值是undefined:


如果我們對a進行給值的動作(initiation):


這時候會得到如下的結果,代表a是有被定義的值:


那麼,如果我們最後加上這一步,我們先定義a = 'Hello !!,接著再把a定義成undefined


最後,我們會發現a又再次變成了undefined


這樣的結果再次說明了undefined確實是JavaScript當中的一個特殊關鍵值,它是可以給當作值去給定的!

總括一句來說:在JavaScript中,undefined和not defined是不同的,undefined是尚未給定已宣告變項的值,但是not defined則是該變項尚未宣告過,執行後會出現錯誤訊息!


→回到此系列文章目錄

參考資料



0 意見:

張貼留言