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