虽然智能代码完成似乎没有得到它(至少在Flash Builder中),但编译器似乎确实允许它,并且为> 定义>更具有bug保护性。 em> 迭代器变量作为常量。
for (const i:int = 0; i < 100; ++i) {
i = 5; // this breaks the loop's logic, but is caught by the compiler
}
答案 0 :(得分:1)
您无法更改const
的值,const
指的是Constants的编程概念,这些属性永远不会改变。您无法增加const
,只能分配一次const
。在那之后,它被固定直到它被处理掉。 const
作为for循环中的计数器是一个糟糕的选择,因为您无法更改它的值。您可以详细了解const
here的操作脚本实现。
根据这个document,遗留编译器中存在一个允许增量运算符在const
上运行的错误,如果此代码有效,则应该在Actionscript Complier 2.0中解决此错误,很可能解释是你正在使用遗留编译器。
如果您使用ASC 2.0或更高版本,我可以告诉您这种行为与Actionscript 3 language rules相矛盾,您不应该依赖它。它很可能是一个可以在Adobe的心血来潮中修复的错误。