基本1-10计数器中的变量赋值

时间:2014-01-28 17:21:48

标签: javascript

这是10的一个非常基本的反击:

for (var i = 1; i <= 10; i++) {
    console.log (i); // outputs 1, 2, 3, 4, 5, 6, 7, 8, 9, 10;
}

console.log(i);

我希望i在全局空间中的值为10.它是11.我能想到的唯一原因是它被指定为11来打破循环i&lt; = 10。

这是正确的理由吗?

2 个答案:

答案 0 :(得分:1)

是的,for循环以这种方式工作:

for (/*initial conditions set at beginning of loop*/; 
     /*break condition checked before entering the loop each time*/; 
     /*command to execute at the end of each loop*/) 
{
    // stuff to do during loop
}

所以你的假设是正确的,for循环一直运行到i = 11,因为这是循环第一次达到中断条件。

创建for循环以避免重复while或do / while循环。上述循环可以被认为是:

/*initial conditions set at beginning of loop*/
while (/*break condition checked before entering the loop each time*/){
     // stuff to do during loop
     /*command to execute at the end of each loop*/
}

答案 1 :(得分:0)

表单的for循环:

for (<inits>; <tests>; <repeats>) {
    <body>;
}

相当于:

<inits>;
while (<tests>) {
    <body>;
    <repeats>;
}

在循环的最后一次迭代中,将执行i++以将i设置为11.然后当它返回到循环的顶部时,将执行测试i <= 10 。由于这是错误的,循环终止。此时,i仍为11。