[JS奇怪的世界]No.6 執行環境:程式執行

程式執行

一般來講在 JavaScript 程式執行時會被分為兩個階段

  • 創造階段
  • 執行程式

當編譯器已經幫我們建立好所有變數與函數時,就是會開始準備將我們所撰寫的程式碼轉換成電腦可以理解的指令,而課堂上的範例其實與我先前所撰寫的範例類似 ↓

1
2
3
4
5
6
7
8
9
10
function say(){
var b = 'Tom';
console.log(b);
}

say();
console.log(a);

var a = 'Hello World!';
console.log(a);

No.4 執行環境:創造與提升章節有講過,創造階段會將所有變數與函數提升至最前面建立並賦予**預設值 (undefined)**,然後在執行我們撰寫的程式馬,所以若我們拆開來看就會是這樣子 ↓

1
2
3
4
5
6
7
8
9
10
11
12
13
function say(){
...
}

var a;

say();

console.log(a);

a = 'Hello World!';

console.log(a);

在編譯器創造完變數後才會開始執行一行一行執行並賦與值。

賦值

所以才能夠得到我們想要的結果

結果

圖源

JavaScript 全攻略:克服 JS 奇怪的部分