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

2021-10-03 23:17:44 字數 1445 閱讀 6548

作用域問題一

//(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(

)console.

log(a)

;//1

var a=3;

console.

log(a)

;//3

functiona(

)console.

log(a)

;//3a(

);//報錯,a是個變數,不是函式

//預解析過程

functiona(

)//再逐行解析

//3.作用域問題3

//(1)預解析分標籤進行

console.

lg(a)

;//報錯,下面**不執行

<

/script>

var a=1;

<

/script>(2

)var a=1;

//全域性變數

<

/script>

console.

lg(a)

;//1

<

/script>

//4.作用域問題4

//(1)

var a=1;

functionfn(

a)fn(

);console.

log(a)

;//1(2

)var a=1;

functionfn(

)fn()

;console.

log(a)

;//2

//(3)

var a=1;

functionfn(

a)fn(

);//如果傳入的是區域性變數,則形參就是區域性變數;如果傳入的是全域性變數,則形參就是全域性變數

console.

log(a)

;//1

//(4)

var a=1;

functionfn(

a)fn(a)

;console.

log(a)

;//1

//a=2成為區域性變數是受到函式fn的引數影響,如果把這個引數去掉,a=2就是全域性變數了;

js之作用域

1.什麼是作用域 作用域是用於收集儲存維護變數,以及當前執行 宣告的變數所擁有的許可權,例如 function foo a foo1 666 function foo2 a g a 在foo2函式中 a向g賦值 此時g在foo2作用域中也不存在,他也向上查詢,遇到window物件,發現其中也沒有定義...

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

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

JS之作用域精解

一。執行期上下文 當函式執行時,會建立乙個成為執行期上下文的內部物件。乙個執行期上下文定義了乙個函式執行時的環境,函式每次執行時對應的執行期上下文都是獨一無二的,所以多次呼叫乙個函式會建立多個執行期上下文。每當函式執行完畢,它所產生的執行期上下文被銷毀。即 函式執行時才會產生自己的ao,執行結束後立...