第九天
作用域
作用域定义:变量和函数生效(能被访问)的区域
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,在第二个函数里是不可以访问的,就像是两个房间,我不能到隔壁拿东西,隔壁也不能来我房间拿东西一样