actionscript-3 - for(const i)而不是(var i)

标签 actionscript-3 for-loop compiler-errors constants var

尽管智能代码补全似乎并没有(至少在Flash Builder中),但编译器似乎允许这样做,并且将迭代器变量定义为常量更具保护性。

        for (const i:int = 0; i < 100; ++i) {
            i = 5; // this breaks the loop's logic, but is caught by the compiler
        }

最佳答案

您不能更改const的值,const指的是Constants的编程概念,该属性永远不变。您不能递增const,只能分配一次const。此后,将其固定直到将其处置。 const作为for循环中的计数器是一个糟糕的选择,因为您无法更改其值。您可以了解有关const here的 ActionScript 实现的更多信息。

根据此document的描述,旧版编译器中存在一个错误,该错误允许增量运算符使用const进行操作,此错误应已在Actionscript Complier 2.0中解决,如果此代码有效,则最有可能的解释是您正在使用旧版编译器。

如果您使用的是ASC 2.0或更高版本,我只能告诉您的是,此行为与Actionscript 3 language rules相矛盾,因此您不应该依赖它。这很可能是Adobe一时兴起的错误。

关于actionscript-3 - for(const i)而不是(var i),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28085286/

相关文章:

apache-flex - 如何在Flex中控制Spark Datagrid的滚动器位置?

c - 新的 C 代码动态工具分析

java - JOptionPane错误-乌龟和野兔赛跑

vba - 添加额外的 VBA 模块会在运行以前工作的模块时产生编译错误

xml - 从对象创建 xml

flash - 如果要使用哪个Flash/ActionScript IDE,则应该使用其中一个?

java - For 循环 - 类似于 Python 范围函数

java - 运行 zxing 的单元测试失败

flash - 有人遇到这个错误吗? RTMP 流媒体视频提前 3-4 秒结束?

java - 减少 Java 中的内循环迭代次数以提高效率