你对Flex数据类型的概念是否熟悉,这里和大家分享一下,在Flex中基元数据类型包括Boolean、int、Null、Number、String、uint和void。ActionScript核心类还定义下列复杂数据类型:Object、Array、Date、Error、Function、RegExp、XML和XMLList。
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)之间的整数(包括-2,147,483,648和2,147,483,647)。早期的ActionScript版本仅提供Number数据类型,该数据类型既可用于整数又可用于浮点数。在ActionScript3.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,则FlashPlayer会将null值转换为相应的默认值。不能将Null数据类型用作类型注释。
◆String数据类型
String数据类型表示一个16位字符的序列。字符串在内部存储为Unicode字符,并使用UTF-16格式。字符串是不可改变的值,就像在Java编程语言中一样。对字符串值执行运算会返回字符串的一个新实例。用String数据类型声明的变量的默认值是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类实例的默认值。在ActionScript3.0中,Object实例的默认值是null。如果您尝试将值undefined赋予Object类的实例,FlashPlayer会将该值转换为null。您只能为无类型变量赋予undefined这一值。无类型变量是指缺乏类型注释或者使用星号(*)作为类型注释的变量。只能将void用作返回类型注释。
◆Object数据类型
Object数据类型是由Object类定义的。Object类用作ActionScript中的所有类定义的基类。ActionScript3.0中的Object数据类型与早期版本中的Object数据类型存在以下三方面的区别:第一,Object数据类型不再是指定给没有类型注释的变量的默认数据类型。第二,Object数据类型不再包括undefined这一值,该值以前是Object实例的默认值。第三,在ActionScript3.0中,Object类实例的默认值是null。
在早期的ActionScript版本中,会自动为没有类型注释的变量赋予Object数据类型。ActionScript3.0现在包括真正无类型变量这一概念,因此不再为没有类型注释的变量赋予Object数据类型。没有类型注释的变量现在被视为无类型变量。如果您希望向代码的读者清楚地表明您是故意将变量保留为无类型,可以使用新的星号(*)表示类型注释,这与省略类型注释等效。下面的示例显示两条等效的语句,两者都声明一个无类型变量x:
◆varx
varx:*
只有无类型变量才能保存值undefined。如果您尝试将值undefined赋给具有数据类型的变量,FlashPlayer会将该值undefined转换为该数据类型的默认值。对于Object数据类型的实例,默认值是null,这意味着,如果尝试将undefined赋给Object实例,FlashPlayer会将值undefined转换为null。
【编辑推荐】