当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > ActionScript3.0教程:变量

ActionScript
Flash as与影片剪辑的调用
Flash AS2教程:缓冲运动
flash as2的缓动类
FLASH AS教程:ActionScript3简介
Flash AS3教程:编程基础
ActionScript和网页JavaScript互相调用
Flash ActinScript 3.0基础知识
ActionScript 3.0的流程控制语法
ActinScript3.0开发基础知识:可重用代码
Flash自定义函数实例
ActoinScript教程:小数坐标处理
AS教程:鼠标拖拽与旋转MC
Flash AS3基础教程:掌握鼠标事件应用
Flash AS3教程:快速制作烟雾动画
Flash AS代码书写约定和书写习惯
学习Flex:常见的Flex代码
Flex教程:ScriptLimits标签
Flash AS教程:propertydata问题解决
Flash AS3单列模式实现方式
as3中通过ByteArray进行对象的深度拷贝

ActionScript3.0教程:变量


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-30   浏览: 160 ::
收藏到网摘: n/a

变量

可以使用 varconst 关键字声明变量。在脚本的整个执行过程中,使用 var 关键字声明的变量可多次更改其变量值。使用 const 关键字声明的变量称为常量,只能赋值一次。尝试给已初始化的常量分配新值,将生成错误。

静态变量

静态变量是使用 static 关键字和 varconst 语句共同声明的。静态变量附加到类而不是类的实例,对于存储和共享应用于对象的整个类的信息非常有用。例如,当要保存类实例化的总次数或者要存储允许的最大类实例数,使用静态变量比较合适。

下面的示例创建一个 totalCount 变量(用于跟踪类实例化数)和一个 MAX_NUM 常量(用于存储最大实例化数)。totalCountMAX_NUM 这两个变量是静态变量,因为它们包含的值应用于整个类,而不是某个特定实例。

class StaticVars
{ public static var totalCount:int = 0; public static const MAX_NUM:uint = 16;
}

StaticVars 类及其任何子类外部的代码只能通过该类本身来引用 totalCountMAX_NUM 属性。例如,以下代码有效:

trace(StaticVars.totalCount); // output: 0
trace(StaticVars.MAX_NUM); // output: 16

不能通过类实例访问静态变量,因此以下代码会返回错误:

var myStaticVars:StaticVars = new StaticVars();
trace(myStaticVars.totalCount); // error
trace(myStaticVars.MAX_NUM); // error

必须在声明常量的同时初始化使用 staticconst 关键字声明的变量,就像 StaticVars 类初始化 MAX_NUM 那样。您不能为构造函数或实例方法中的 MAX_NUM 赋值。以下代码会生成错误,因为它不是初始化静态常量的有效方法:

// !! Error to initialize static constant this way
class StaticVars2
{ public static const UNIQUESORT:uint; function initializeStatic():void { UNIQUESORT = 16; }
}

实例变量

实例变量包括使用 varconst 关键字但未使用 static 关键字声明的属性。实例变量附加到类实例而不是整个类,对于存储特定于实例的值很有用。例如,Array 类有一个名为 length 的实例属性,用来存储 Array 类的特定实例保存的数组元素的个数。

不能覆盖子类中声明为 varconst 的实例变量。但是,通过覆盖 getter 和 setter 方法,可以实现类似于覆盖变量的功能。