執行環境:程式執行
JavaScript 在產生執行環境時,會有兩個階段。
- 第一階段是創造,會設定變數和函數到記憶體中。
- 第二階段則是執行。
而這篇文章則會提到執行的部份。
當在創造階段時,都已經設定好所有東西,到執行這個階段就很單純,只是逐行執行自己寫好的程式碼而已。進行編譯跟轉換後,讓電腦看得懂,這樣就結束了。
不免俗的來看一下程式碼,當執行以下的程式碼後,會如何運作呢?
1 | function b() { |
首先呼叫 b(),沒有什麼問題,會執行 function 內的程式碼,印出 ‘Test’。
第一個 console.log(a)
,由於在創造階段時,先給 a 一個 undefined,然後執行,所以就印出 undefined。
第二個 console.log(a)
,因為有給 a 一個值,所以執行後,就印出 ‘Hello’。
再看其他例子,下面 4 個 console.log
會個別印出什麼?
1 | var a; |
- a 沒有值,所以 undefined。
- b 到這行還沒有值,所以一樣先給 undefined。
- b 這時候已經有給值了,所以印出 ‘hello’。
- c 並沒有宣告變數,所以在記憶體中找不到 c,所以會是錯誤,c is not defined。
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Bucky's Code Journey!