試題 預編譯

2021-10-24 07:57:31 字數 863 閱讀 4334

a =

100;

function

demo

(e) arguments[0]

=2console.

log(e)

//2if

(a)}

var c

a =10var a

console.

log(b)

//undefined

f =123

console.

log(c)

//function c(){}

console.

log(a)

// 10

}var a

demo(1

) console.

log(a)

// 100

console.

log(f)

//123

// 建立go{}

// 尋找形參和變數宣告 go

// 形參和實參相統一 go

// 尋找函式宣告 go}

// 自上而下執行**

// go}

// 碰到函式demo()跳過

// 執行demo(1)

// 函式demo()

// 步驟一 建立自己的ao

// 步驟二 ao

// 步驟三 ao

// 步驟四 ao;b:undefined;c:function c(){};a:undefined}

// 自上而下逐行執行**

// arguments[0] = 2改變的是e的值

// f = 123 未經宣告,歸go所有

JS預編譯 函式預編譯和全域性預編譯

預編譯發生在函式執行前一步 建立ao物件 執行期上下文 找形參和變數宣告,將變數和形參名作為ao 屬性名,值為undefined 將實參值和形參統一 在函式體裡面找函式宣告,值賦予函式體 結果 預編譯過程 函式馬上要執行,但是還沒執行 首先建立ao物件,也就是函式它產生的儲存空間庫 ao,b und...

預編譯與編譯

一c c 源 從最初的文字變為可執行檔案主要進行三大步 預編譯階段 主要是編譯器執行 文字處理工作,並不會進行語法檢查 主要執行三大類預編譯命令 巨集定義 文字替換功能,將使用了巨集的地方採取巨集定義方式直接展開 條件編譯 文字剪下功能,根據設定的條件選擇性刪除一些 片段 包含檔案 文字插入功能 i...

什麼是預編譯?何時需要預編譯?

什麼是預編譯 預編譯又稱為預處理 是做些 文字的替換工作。處理以 開頭的指令 比如拷貝 include 包含的檔案 define 巨集定義的替換 條件編譯等,就是為編譯做的預備工作的階段。主要處理 開始的預編譯指令,預編譯指令指示了在程式正式編譯前就由編譯器進行的操作,可以放在程式中的任何位置。c ...