作用域問題一
//(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,執行結束後立...