在此循环中,alert(i)
提醒12,并且firebug显示 10 作为最终结果。
for(var i=0;i<=10;i=i+2){
document.write=i;
}
alert(i);
答案 0 :(得分:5)
i
都会递增。当条件<= 10
失败时,循环中断:
0 => loop gets executed, i incremented with 2
2 => loop gets executed, i incremented with 2
4 => loop gets executed, i incremented with 2
6 => loop gets executed, i incremented with 2
8 => loop gets executed, i incremented with 2
10 => loop gets executed, i incremented with 2
12 => loop breaks => i remains at 12
答案 1 :(得分:4)
但这是正确的。
在开始i=0
,我们正在迭代并在每个循环中添加2。
当我们达到10时,我们仍处于这种状态,所以我们再做一次循环。现在是i==12
,但这种情况会告诉我们走出循环。
因此在制动出循环i==12
之后。
将其视为代码:
i==0 //inside loop
i==2 //inside loop
i==4 //inside loop
i==6 //inside loop
i==8 //inside loop
i==10 //inside loop - we will add 2 once more time
i==12 //we are outside the loop, because now i>10
答案 2 :(得分:1)
你的for循环以2为增量上升。
0
2
4
6
8
10个
12
10仍然'小于等于10',因此for循环继续运行一次,直到达到12,条件不再为真。
将您的代码更改为
for(var i=0;i<10;i=i+2){
document.write=i;
}
alert(i);