我們先來看一段簡單的程式碼：
其中a我們有進行宣告(declaration)的動作，然後去呼叫它，b則是沒有進行宣告就直接呼叫它。然後我們會得到以下的結果：
其中undefined指的是a，b則是not defined。
也就是說，當我們a已經宣告過(declaration)，只是沒有值時，我們會得到undefined；而b是完全沒有經過宣告，因此會出現錯誤訊息，並且顯示b is not defined。
我們把上面那段程式碼稍微改一下，改成：
這時候我們會得到如下的結果，代表a的值是undefined：
如果我們對a進行給值的動作(initiation)：
這時候會得到如下的結果，代表a是有被定義的值：