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,在第二个函数里是不可以访问的,就像是两个房间,我不能到隔壁拿东西,隔壁也不能来我房间拿东西一样
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。