全局变量和局部变量作用域

1.全局变量

var color = "blue";
function testFn1(){
  teturn color;
};
console.log(testFn1());//"blue";

2.局部变量

var color = "blue";
function testFn2(){
    var color = "red";
    return color;
}
console.log(testFn2());//"red";

温馨提示:访问变量时,会一级级向上找,父级、祖父级,直到找到window,所以访问局部变量要比全局变量更快
3.作用域
示例:1

var color1 = "blue";

        function testFn3(){
            var color2 = "red";

            function testFn4(){
                var color3 = "yellow"
                console.log(color1, color2, color3);
            }   
            testFn4();
            console.log(color1, color2);
        }
        testFn3();
        console.log(color1);

示例:2

if (true) {
            var color4 = "pink";
        }
        console.log(color4);

        for (var i = 0; i < 5; i++) {
            console.log(i);
        }
        console.log(i); //循环变量只存在循环环境中,但是创建的变量在循环后还会存在

//js没有块级作用域,不像c语言,用花括号封闭的代码都有自己的作用域。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容