我理解我猜的循环,但是我很惊讶地看到在firebug的console.log迭代中再次迭代。我希望迭代10x(0-9)。为什么10 ??
$i = 0;
while ($i < 10) {
console.log($i);//the last time here should be $i=9, not $i=10
++$i;
}
// in console log i have(0...10)
while ($i < 10) {
console.log($i);
$i++;
}
// in console.log i have doubled 9(0...9,9) Why 9 doubled???
谢谢你的建议
答案 0 :(得分:3)
我认为您看到的只是最后一个语句的结果,即$i++
或++$i
。如果您直接在控制台中键入此语句,您会看到一个输出的数字,即使您没有明确输出它。
例如,如果我直接在Firefox的控制台中运行代码,我实际上看到了
10
0
1
...
9
10
是上次执行++$i
的结果,其他是console.log
语句,只在代码终止后执行(看起来如此)。
如果您使用
console.log('Iteration: ' + $i);
然后你会更清楚地看到差异。
这也是您看到两个9
的原因,因为$i++
(其中$i = 9
)的结果是9
。
答案 1 :(得分:2)
我认为您不希望看到的“10”和“9”是控制台中返回的内容。