ActionScript 3.0 支持 const 语句,该语句可用来创建常量。常量是指具有无法改变的固定值的属性。只能为常量赋值一次,而且必须在最接近常量声明的位置赋值。例如,如果将常量声明为类的成员,则只能在声明过程中或者在类构造函数中为常量赋值。下面的代码声明两个常量。第一个常量 MINIMUM 是在声明语句中赋值的,第二个常量MAXIMUM 是在构造函数中赋值的。
class A { public const MINIMUM:int = 0; public const MAXIMUM:int; public function A() { MAXIMUM = 10; } } var a:A = new A(); trace(a.MINIMUM); // 0 trace(a.MAXIMUM); // 10
如果您尝试以其它任何方法向常量赋予初始值,则会出现错误。例如,如果您尝试在类的外部设置 MAXIMUM 的初始值,将会出现运行时错误。
class A { public const MINIMUM:int = 0; public const MAXIMUM:int; } var a:A = new A(); a["MAXIMUM"] = 10; // 运行时错误
Flash Player API 定义了一组广泛的常量供您使用。按照惯例,ActionScript 中的常量全部使用大写字母,各个单词之间用下划线字符 (_) 分隔。例如,MouseEvent 类定义将此命名惯例用于其常量,其中每个常量都表示一个与鼠标输入有关的事件:
package flash.events { public class MouseEvent extends Event { public static const CLICK:String = "click"; public static const DOUBLE_CLICK:String = "doubleClick"; public static const MOUSE_DOWN:String = "mouseDown"; public static const MOUSE_MOVE:String = "mouseMove"; ... } }