js中的作用域 預解析

2022-09-12 09:48:16 字數 777 閱讀 5815

任何地方都能訪問到的物件擁有全域性作用域。

1.1函式外面定義的變數擁有全域性作用域

1.2未定義直接賦值的變數自動宣告為擁有全域性作用域

通俗地講,當宣告乙個函式時,區域性作用域一級一級向上包起來,就是作用域鏈。

1.當執行函式時,總是先從函式內部找尋區域性變數

2.如果內部找不到(函式的區域性作用域沒有),則會向建立函式的作用域(宣告函式的作用域)尋找,依次向上

j**ascript解析過程分為兩個階段,先是編譯階段,然後執行階段,在編譯階段會將function定義的函式提前,並且將var定義的變數宣告提前,將它賦值為undefined。
案例1:

區域性作用域中作用域提公升例子 

<

script

>

function

show

()show

(); 

//執行**

alert

(num

); //報錯,因為全域性作用域塊沒有num

script

>

JS中的作用域 作用域鏈和預解析

全部變數 js中除了在函式中定義的變數,都是全域性變數 全域性變數的使用範圍是作用域 作用域 就是變數的使用範圍 js中沒有塊級作用域即一對括號中定義的變數,這個變數可以在大括號外面使用 例如結果是 10並不會報錯,因為變數可以在大括號外面使用 除了函式中定義的變數 下面的這些也都可以輸出,並不會報...

js 函式 作用域 預解析

一 函式 定義 可以重複呼叫執行的 塊 一 函式的宣告和呼叫 1.宣告函式 1 命名函式 語法 function 函式名 2 函式表示式來宣告函式 匿名函式 語法 var 變數名 function eg var fun function fun 使用變數名來呼叫函式 2.呼叫函式 函式名 二 函式的...

js的預解析和作用域

預解析指的就是,在js檔案或者script裡面的 在正式開始執行之前,進行的一些解析工作。這個工作很簡單,就是在全域性中尋找var關鍵字宣告的變數和通過function關鍵字宣告的函式。1.尋找 var function 引數 等關鍵字,根據var a提前設定為 a 未定義 undefined 所有...