2012-02-26 128 views
2

循環我碰到下面的函數凸輪的javascript:雄辯的Javascript

for (var number = 0; number <= 12; number = number + 2) 
    show(number); 

輸出爲以下

0 
2 
4 
6 
8 
10 
12 

我希望它是

2 
4 
6 
8 
10 
12 
14 

爲什麼由於「number = number + 2」在「show(number)」之前出現,所以首先顯示「0」而不是「2」

回答

8

這是因爲循環的順序是這樣的:

  1. 初始化號。
  2. 檢查條件。
  3. 運行循環。通過2.

  • 增加數量,然後再次2-4,直到條件爲假,如果是的話退出循環。

    循環轉化爲這樣的事情:

    var number = 0; 
    while (number <= 12) 
    { 
        show(number); 
        number = number + 2; 
    } 
    

    一般用於循環總是工作是這樣的:

    for(Init Variable; Condition ; Changing Variable) 
    { 
        //Some Code 
    } 
    

    翻譯爲:

    Init Variable 
    while (Condition) 
    { 
        //Some Code 
    
        Changing Variable 
    } 
    
  • +0

    感謝您的快速回復。 – Twiek 2012-02-26 12:41:24

    +0

    @Twiek你的歡迎,你明白了嗎? – 2012-02-26 12:42:15

    +0

    我希望它翻譯成 var number = 0; (數字<= 12) { number = number + 2; number = number + 2; show(number); } 不是 var number = 0; while(number <= 12) { show(number); number = number + 2; } 所以我猜for-loop只是和你描述的while循環有點不同,對吧? – Twiek 2012-02-26 12:50:51

    2

    想一想像這樣:

    你爲什麼寫黃色部分? enter image description here

    這是你想要考慮的種子部分!

    所以它會與它的種子值,然後啓動 - 將遞增....