js

作用域

作用域定义:变量和函数生效(能被访问)的区域

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,在第二个函数里是不可以访问的,就像是两个房间,我不能到隔壁拿东西,隔壁也不能来我房间拿东西一样

你可能感兴趣的:(js)