为什么我使用了两个变量,一个没有声明,但没有得到全局变量?

时间:2015-07-13 01:32:07

标签: javascript

第一:

function A() {

        for (var i = 0; i < 10; ++i) {
            //...
        }
        console.log(i); //i is undefined
       // i dont get global i
        for (i = 0; i < 10; ++i) {
            //...
        }

    }

当我执行A()时,我不会获得全局变量。 但是这个:

    function B() {
       // i get global i
        for (i = 0; i < 10; ++i) {
            //...
        }
     }

当我执行B()时,我得到了全局i。 那么为什么我执行A()时无法获得全局?

1 个答案:

答案 0 :(得分:0)

i永远不会在您的代码中全局范围内。它的词法范围仅限于A函数的范围。