为什么这个循环是无限的当我尝试使用as3
在flash中底部代码时 for(var i:uint=10;i>=0;i--)
{
//some code
trace(i);
}
这是输出;
10
9
8
7
6
5
4
3
2
1
0
4294967295
4294967294
4294967293
.
.
.
.
答案 0 :(得分:5)
您可以在definition of uint
:
uint类提供了处理表示32位无符号整数的数据类型的方法。因为无符号整数只能是正数,所以它的最大值是int类的两倍。
所以这个无符号整数只能是正数,它在uint.MIN_VALUE
之间,0
和uint.MAX_VALUE
之间是4294967295
。这就是为什么你的for循环永远不会完成的原因,因为当i == 0
时,它将取值4294967295
肯定大于0
,因此for循环条件始终为真。