2015-07-13 77 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() –

相關問題