当uint = 0时,for循环已经崩溃

Muh*_*mir 1 flash actionscript-3

为什么这个循环是无限的当我尝试使用as3在flash中底部代码时,

   for(var i:uint=10;i>=0;i--)
    {
        //some code
        trace(i);
    }
Run Code Online (Sandbox Code Playgroud)

这是输出;

10
9
8
7
6
5
4
3
2
1
0
4294967295
4294967294
4294967293
.
.
.
.
Run Code Online (Sandbox Code Playgroud)

akm*_*ozo 5

你有以下定义uint的答案:

uint类提供了处理表示32位无符号整数的数据类型的方法.因为无符号整数只能是正数,所以它的最大值是int类的两倍.

因此,这无符号整数只能是积极的,它的之间uint.MIN_VALUE,这是0uint.MAX_VALUE4294967295.这就是为什么你的for循环永远不会完成的原因i == 0,因为什么时候,它将取得4294967295肯定大于的值0,因此for循环条件总是为真.