数据类型

“数据类型”用来定义一组值。例如,Boolean 数据类型所定义的一组值中仅包含两个值:truefalse。除了 Boolean 数据类型外,ActionScript 3.0 还定义了其它几个常用的数据类型,如 String、Number 和 Array。您可以使用类或接口来自定义一组值,从而定义自己的数据类型。ActionScript 3.0 中的所有值均是对象,而与它们是基元值还是复杂值无关。

“基元值”是一个属于下列数据类型之一的值:Boolean、int、Number、String 和 uint。基元值的处理速度通常比复杂值的处理速度快,因为 ActionScript 按照一种尽可能优化内存和提高速度的特殊方式来存储基元值。

注意

 

关注技术细节的读者会发现,ActionScript 在内部将基元值作为不可改变的对象进行存储。这意味着按引用传递与按值传递同样有效。这可以减少内存的使用量并提高执行速度,因为引用通常比值本身小得多。

“复杂值”是指基元值以外的值。定义复杂值的集合的数据类型包括:Array、Date、Error、Function、RegExp、XML 和 XMLList。

许多编程语言都区分基元值及其包装对象。例如,Java 中有一个 int 基元值和一个包装它的 java.lang.Integer 类。Java 基元值不是对象,但它们的包装是对象,这使得基元值对于某些运算非常有用,而包装对象则更适合于其它运算。在 ActionScript 3.0 中,出于实用的目的,不对基元值及其包装对象加以区分。所有的值(甚至基元值)都是对象。Flash Player 将这些基元类型视为特例 ― 它们的行为与对象相似,但是不需要创建对象所涉及的正常开销。这意味着下面的两行代码是等效的:

var someInt:int = 3;
var someInt:int = new int(3);

上面列出的所有基元数据类型和复杂数据类型都是由 ActionScript 3.0 核心类定义的。通过 ActionScript 3.0 核心类,可以使用字面值(而非 new 运算符)创建对象。例如,可以使用字面值或 Array 类的构造函数来创建数组,如下所示:

var someArray:Array = [1, 2, 3]; // 字面值
var someArray:Array = new Array(1,2,3); // Array 构造函数

子主题

类型检查
动态类
数据类型说明
类型转换

Flash CS3

 

评论添加到页面后给我发送电子邮件 | 评论报告

当前页: http://livedocs.adobe.com/flash/9.0_cn/main/00000044.html