函数作用域和申明提前

    var aaa="aaa";
    function test() {
        console.log(aaa);    //undefined
        var aaa="123";
        console.log(aaa);    //123
    }
    test();

由于函数作用域的特性,局部变量在整个函数体始终是有定义的,也就是说在函数体内局部变量覆盖了同名变量,以上代码等价于

    var aaa="aaa";
    function test() {
        var aaa;
        console.log(aaa);    //undefined
        var aaa="123";
        console.log(aaa);    //123
    }
    test();

 

posted on 2017-04-19 22:17  cheerone  阅读(89)  评论(0编辑  收藏  举报