Actionscript 3 简单的for循环//但奇怪的输出答案

Actionscript 3 简单的for循环//但奇怪的输出答案,actionscript-3,for-loop,flashdevelop,Actionscript 3,For Loop,Flashdevelop,我试图理解为什么每次跟踪变量时z的输出总是-1。我在数硬币,我试图建立一个for循环,但是,我总是被一个错误提示,因为z=-1 for (var z:int = coins.length; z >= 0; z--); { trace(z); trace(coins.length); } 我得到的这两个变量的输出答案是: Z = -1 coins.length = 3 为什么会这样?因为我在输出框上看到的是: -1 -1 -1 -1 -1 -1 keeps repeating

我试图理解为什么每次跟踪变量时z的输出总是-1。我在数硬币,我试图建立一个for循环,但是,我总是被一个错误提示,因为z=-1

for (var z:int = coins.length; z >= 0; z--);
{
   trace(z);
   trace(coins.length);
}
我得到的这两个变量的输出答案是:

Z = -1
coins.length = 3
为什么会这样?因为我在输出框上看到的是:

-1
-1
-1
-1
-1
-1
keeps repeating
如果我们使用for循环逻辑,那么变量z不应该是这样吗

2
1
0
有什么问题吗?

这是您的问题:

for (var z:int = coins.length; z >= 0; z--); // the semicolon at the end.
循环以分号结束。你写了一个没有主体的循环。这是完全有效的,执行得很好

循环后,执行一次以下代码:

{
   trace(z);
   trace(coins.length);
}
z
是-1,因为这是它在循环中的最后一个值,导致循环停止执行<代码>硬币。长度从未更改,并且根据数组有一个值

如果我们使用for循环逻辑,那么变量z不应该是这样吗

2
1
0
不,因为它从3开始,而不是2。这是你的问题:

for (var z:int = coins.length; z >= 0; z--); // the semicolon at the end.
循环以分号结束。你写了一个没有主体的循环。这是完全有效的,执行得很好

循环后,执行一次以下代码:

{
   trace(z);
   trace(coins.length);
}
z
是-1,因为这是它在循环中的最后一个值,导致循环停止执行<代码>硬币。长度从未更改,并且根据数组有一个值

如果我们使用for循环逻辑,那么变量z不应该是这样吗

2
1
0

不,因为它从3开始,而不是从2开始。

edit:现在,在一个接一个地调试它之后,它表示变量z未定义。为什么当我将z声明为coins.length,其值为3时它没有定义?编辑:现在在调试它之后,一个代码接着一个代码,它说变量z没有定义。为什么我将z声明为硬币时它没有定义。长度的值为3?Good catch@null.ohhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh我的上帝!非常感谢你!我超级尴尬哈哈。下次我真的要再检查一遍了。抓好了@null.ohhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh!非常感谢你!我超级尴尬哈哈。下次我得仔细检查一下。