2015-07-13 57 views
-3

第一:为什么我用了两个变量,一个没有解释,但没有得到全局变量?

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(),我得到DONOT全局变量我。 但这:

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

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

+0

因为它不是全局变量。它只能在声明中工作。 –

+0

我修改这个问题后,B(),我可以得到全球我。 –

+0

检查这个http://www.w3schools.com/js/js_loop_for.asp,你不需要初始化变量FOR FOR STATEMENT –

回答

0

i从未在您的代码范围内全局范围。它只是在你的A函数的范围内的词汇范围内。

+2

它实际上是在函数A() –

相关问题