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

2016-06-05  本文已影响0人  行动改变一切

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语言,用花括号封闭的代码都有自己的作用域。

上一篇 下一篇

猜你喜欢

热点阅读