数据类型说明(FLEX)

基元数据类型包括 Boolean、int、Null、Number、String、uint 和 void。ActionScript 核心类还定义下列复杂数据类型:

Object、 Array、Date、Error、Function、RegExp、XML 和 XMLList。 

Boolean 数据类型 

Boolean 数据类型包含两个值:true 和 false。对于 Boolean 类型的变量,其它任何值都是无效的。已经声明但尚未初始化的布

尔变量的默认值是 false。

int 数据类型

int 数据类型在内部存储为 32 位整数,包含的整数集介于 

-2,147,483,648 (-231

) 至 2,147,483,647 (231

 - 1) 之间 (两端包含在内)。早期的 ActionScript 版本仅提供 Number 数据类

型,该数据类型既可用于整数又可用于浮点数。在 ActionScript 3.0 中,现在可以访问 32 位带符号整数和无符号整数的低位

机器类型。如果您的变量将不会使用浮点数,那么,使用 int 数据类型来代替 Number 数据类型应会更快更高效。 

对于小于 int 的最小值或大于 int 的最大值的整数值,应使用 Number 数据类型。Number 数据类型可以处理 -

9,007,199,254,740,992 和 9,007,199,254,740,992(53 位整数值)之间的值。int 数据类型的变量的默认值是 0。

Null 数据类型

Null 数据类型仅包含一个值:null。这是 String 数据类型和用来定义复杂数据类型的所有类 (包括 Object 类)的默认值。其

它基元数据类型(如 Boolean、Number、int 和 uint)均不包含 null 值。如果您尝试向 Boolean、Number、int 或 uint 类

型的变量赋予 null,则 Flash Player 和 Adobe AIR 会将 null 值转换为相应的默认值。不能将 Null 数据类型用作类型注释。

Number 数据类型

在 ActionScript 3.0 中,Number 数据类型可以表示整数、无符号整数和浮点数。但是,为了尽可能提高性能,应将 

Number 数据类型仅用于浮点数,或者用于 int 和 uint 类型可以存储的、大于 32 位的整数值。要存储浮点数,数字中应包括一

个小数点。如果您省略了小数点,数字将存储为整数。

Number 数据类型使用由 IEEE 二进制浮点算术标准 (IEEE-754) 指定的 64 位双精度格式。此标准规定如何使用 64 个可用位

来存储浮点数。其中的 1 位用来指定数字是正数还是负数。11 位用于指数,以 2 为底进行存储。其余的 52 位用于存储有效位

数 (又称为尾数),有效位数是 2 的 N 次幂,N 即前面所提到的指数。

可以将 Number 数据类型的所有位都用于有效位数,也可以将 Number 数据类型的某些位用于存储指数,后者可存储的浮点

数比前者大得多。例如,如果 Number 数据类型使用全部 64 位存储有效位数,则可以存储的最大数字为 265

 - 1。如果使用 11 

位存储指数,则 Number 数据类型可以存储的最大有效数字为 21023

。 

Number 类型可以表示的最大值和最小值存储在 Number 类的名为 Number.MAX_VALUE 和 Number.MIN_VALUE 的静态属

性中。

  Number.MAX_VALUE == 1.79769313486231e+308 

  Number.MIN_VALUE == 4.940656458412467e-324

尽管这个数字范围很大,但代价是此范围的精度有所降低。Number 数据类型使用 52 位来存储有效位数,因此,那些要求用 

52 位以上的位数才能精确表示的数字 (如分数 1/3)将只是近似值。如果应用程序要求小数达到绝对精度,则需要使用实现小

数浮点算术 (而非二进制浮点算术)的软件。

如果用 Number 数据类型来存储整数值,则仅使用 52 位有效位数。Number 数据类型使用这 52 位和一个特殊的隐藏位来表

示从 -9,007,199,254,740,992 (-253

) 到 9,007,199,254,740,992 (253

) 的整数。

Flash Player 和 Adobe AIR 不但将 NaN 值用作 Number 类型的变量的默认值,而且还将其用作应返回数字、却没有返回数字

的任何运算的结果。例如,如果您尝试计算负数的平方根,结果将是 NaN。其它特殊的 Number 值包括正无穷大 和负无穷

大。

注: 在被 0 除时,如果被除数也是 0,则结果只有一个,那就是 NaN。在被 0 除时,如果被除数是正数,则结果为“正无穷大 ”

;如果被除数是负数,则结果为“负无穷大”。

String 数据类型

String 数据类型表示一个 16 位字符的序列。字符串在内部存储为 Unicode 字符,并使用 UTF-16 格式。字符串是不可改变的

值,就像在 Java 编程语言中一样。对字符串值的操作返回字符串的一个新的实例。用字符串数据类型声明的变量的默认值是 

null。虽然 null 值与空字符串 ("") 均表示没有任何字符,但二者并不相同。

uint 数据类型

uint 数据类型在内部存储为 32 位无符号整数,包含的整数集介于 0 和 4,294,967,295 (232

 - 1) 之间 (包括 0 和 

4,294,967,295)。uint 数据类型可用于要求非负整数的特殊情形。例如,必须使用 uint 数据类型来表示像素颜色值,因为 int 

数据类型有一个内部符号位,该符号位并不适合处理颜色值。对于大于 uint 的最大值的整数值,应使用 Number 数据类型,

该数据类型可以处理 53 位整数值。uint 数据类型的变量的默认值是 0。

void 数据类型

void 数据类型仅包含一个值:undefined。在早期的 ActionScript 版本中,undefined 是 Object 类实例的默认值。在 

ActionScript 3.0 中,Object 实例的默认值是 null。如果您尝试将值 undefined 赋予 Object 类的实例,则 Flash Player 或 

Adobe AIR 会将该值转换为 null。您只能为无类型变量赋予 undefined 这一值。无类型变量是指缺乏类型注释或者使用星号 

(*) 作为类型注释的变量。您可以将 void 只用作返回类型注释。

Object 数据类型

Object 数据类型是由 Object 类定义的。Object 类用作 ActionScript 中的所有类定义的基类。ActionScript 3.0 中的 Object 

数据类型与早期版本中的 Object 数据类型存在以下三方面的区别:第一,Object 数据类型不再是指定给没有类型注释的变量

的默认数据类型。第二, Object 数据类型不再包括 undefined 这一值,该值以前是 Object 实例的默认值。第三,在 

ActionScript 3.0 中,Object 类实例的默认值是 null。

在早期的 ActionScript 版本中,会自动为没有类型注释的变量赋予 Object 数据类型。ActionScript 3.0 现在包括真正无类型

变量这一概念,因此不再为没有类型注释的变量赋予 Object 数据类型。没有类型注释的变量现在被视为无类型变量。如果您

希望向代码的读者清楚地表明您是故意将变量保留为无类型,可以使用新的星号 (*) 表示类型注释,这与省略类型注释等效。

下面的示例演示两条等效的语句,两者都声明一个无类型变量 x:

  var x 

  var x:*

只有无类型变量才能保存值 undefined。如果您尝试将值 undefined 赋给具有数据类型的变量,则 Flash Player 或 Adobe AIR 

会将值 undefined 转换为该数据类型的默认值。对于 Object 数据类型的实例,默认值是 null,这意味着,如果尝试将 

undefined 赋给 Object 实例,则 Flash Player 或 Adobe AIR 会将值 undefined 转换为 null。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值