js學習筆記6 作用域及解析機制

2022-03-14 13:27:48 字數 527 閱讀 3231

1.作用域:

域:空間、範圍、區域…

作用:讀、寫

script  全域性變數,全域性函式

自上而下

函式由里到外

2.js解析:

⑴   「找一些東西」:var、 function、 引數……

a = 未定義

所有的變數,在正式執行**之前,都提前賦予了乙個值:未定義。

fn1 = function fn()

所有的函式,在正式執行**之前,都是整個函式塊。

這一過程叫做 :「js的預解析」

遇到重名的變數和函式,就只留下函式

⑵   逐行解讀**:

表示式:=、 +、 -、 *、 /、 %、 ++、 --、 !、引數……

表示式可以修改預解析的值!

函式呼叫:

a)  js預解析

子級作用域返回父級作用域稱為作用域鏈。

b)  逐行解析   

ps:對於全域性變數,盡量不要在 if 或者 for 迴圈語句裡面定義,因為火狐無法進行預解析。

js變數作用域(解析機制)

作用域 全域性作用域 區域性作用域 函式作用域 var name xm function fn argument console.log fn console.log 這裡會發生報錯 變數是未定義的 全域性變數可以在區域性作用域中訪問到,區域性變數 在全域性作用域中訪問不到。在js中沒有塊級作用域 ...

JS作用域及域解析規則

1 js作用域 變數和函式作用的範圍。2 js解析器可以分為域解析和逐行解讀 兩個過程。域解析 1 當進行域解析的時候,一旦找到var,就會提取後面的變數名,並給它賦值給undefined。2 一旦找到function和形參,把整個函式塊賦值給函式名,把形參賦值為undefined 逐行解讀 解讀表...

JS學習之作用域與解析機制習題總結

作用域問題一 1 console.log a undefined var a 1 2 console.log a 報錯a 1 宣告的是全域性變數,但預解析只解析var宣告的變數 2.作用域問題二 console.log a a var a 1 console.log a 1 functiona co...