1

我理解我猜的循环,但我很惊讶在 console.log 中看到 firebug 再次迭代。我希望迭代 10 倍(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???

谢谢你的建议

4

2 回答 2

3

我认为您看到的只是最后一条语句的结果,即$i++or ++$i。如果您直接在控制台中键入此语句,您也会看到输出的数字,即使您没有显式输出它。

例如,如果我直接在 Firefox 的控制台中运行代码,我实际上会看到

10
0
1
...
9

10是最后一次执行的结果,++$i其他是console.log语句,它们仅在代码终止后执行(看起来)。

如果你使用

console.log('Iteration: ' + $i);

然后你会更清楚地看到差异。


这也是您看到两个9s 的原因,因为$i++(where $i = 9) 的结果是9

于 2013-04-06T16:48:04.890 回答
2

我认为您不希望看到的“10”和“9”是控制台中返回的内容。

于 2013-04-06T16:48:14.377 回答