函數(shù)三
作用域
作用域定義:變量和函數(shù)生效(能被訪問)的區(qū)域
var a = 123;
function test() {
document.write(a);
}
可以訪問
function test() {
var b = 123;
}
document.write(b);
不可以訪問
函數(shù)里邊可以訪問函數(shù)外邊的東西,函數(shù)外不可以訪問函數(shù)里的東西,就像單向玻璃一樣,里邊可以看到外邊,外邊看不到里邊
全局、局部變量
var a = 123; //全局變量
function test() {
var b = 456; //局部變量
}
在函數(shù)外聲明的變量叫全局變量,在函數(shù)里聲明的變量叫局部變量,全局變量可以被所有對(duì)象和函數(shù)引用,局部變量只能在函數(shù)中使用
作用域的訪問順序
var a = 123;
function test() {
var b = 123;
function demo() {
var c = 234;
document.write(a);
document.write(b);
}
demo();
document.write(c);
}
在函數(shù)套函數(shù)中,里邊的可以訪問外邊的,外邊的不可以訪問里邊的,最里邊的權(quán)限最高,越往外權(quán)限越低,比如上邊的案例,a和b可以輸出,c就不可以輸出
function test() {
var a = 123;
document.write(b);
}
function demo() {
var b = 456;
document.write(a);
}
還有一種情況,有兩個(gè)函數(shù),第一個(gè)函數(shù)里聲明了一個(gè)變量a,在第二個(gè)函數(shù)里是不可以訪問的,就像是兩個(gè)房間,我不能到隔壁拿東西,隔壁也不能來我房間拿東西一樣