2012-02-26 126 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

    这是你想要考虑的种子部分!

    所以它会与它的种子值,然后启动 - 将递增....