这按预期工作:
for (var i:uint = 5; i >= 1; i-- )
{
trace(i); // output is from 5~1, as expected
}
这是奇怪的行为:
for (var i:uint = 5; i >= 0; i-- )
{
trace(i)
}
// output:
5
4
3
2
1
0
4294967295
4294967294
4294967293
...
低于 0 时,会出现类似 MAX_INT 的内容,并且会一直递减。为什么会这样?
编辑
我使用 C++ 测试了一个类似的代码,带有一个 unsigned int,我得到了相同的结果。可能在递减后评估条件。