【发布时间】:2011-05-27 15:57:57
【问题描述】:
我注意到 for 循环中的变量有一种奇怪的行为。这不是一个真正的问题,但它让我很困扰。
实际上我已经通过这种方式创建了两个循环:
for (var i:uint; i<19; i++) SomeFunction (i);
for (var i:uint; i<26; i++) SomeOtherFunction (i);
我收到的是编译警告:Warning: Duplicate variable definition.
这个警告真让我吃惊。在其他语言中,我从未发生过类似的事情。
似乎i 变量进入了层次结构中较高的范围,并且在循环块之外变得可用。我也尝试将循环块包含在花括号中,但它没有改变任何东西。
为什么会这样?正常吗?有可能避免吗?现在我只是为这两个变量设置了不同的名称,但我认为这不是一个真正的解决方案。我真的很想在我的大多数 for 循环中使用 i-named 变量。
【问题讨论】:
标签: actionscript-3 for-loop scope