Action Script 3.0 数据类型的处理
在编写代码时,经常会遇到一些特殊的数据,例如从键盘获取的数据、从网络传入的数据等,这些数据未必和预期的数据类型相同。如果不能确定这些数据的类型,将无法对这些数据进行处理。为避免程序执行的错误,对于获取的数据应先处理其数据类型,例如,检测数据的类型以及将数据类型转换为可处理的类型。
1.数据类型的检测
在ActionScript3.0中,有两种方法来检测数据的类型,即使用typeof运算符和is运算符。这两种运算符各有特点。
● typeof
typeof运算符用于计算一个表达式,并返回表达式的数据类型。typeof可返回的数据类型共有6种,即Boolean、Function、Number、Object、String和XML。用typeof来运算不同的数据类型,其返回的值如表2-3所示。
表2-3 typeof返回类型测试
基元数据类型 | 返回结果 | 核心数据类型 | 返回结果 |
Boolean | boolean | Array | object |
String | string | Object | object |
int | number | Function | function |
uint | number | XML | xml |
Number | number | XMLList | xml |
typeof只能对部分类型的数据进行精确检测,而不会获取复杂的对象数据类型。
如果在自定义类中使用typeof运算符,则得出的所有结果均为object。typeof运算符返回的数据类型仅为字符串类型。 | |
● is
is运算符也可以检测数据的类型。其弥补了typeof运算符的不足,可以对对象的类型进行精确判断,并返回判断的结果Boolean值。另外,使用is运算符还可以检测数据类型与接口是否兼容。
2.数据类型的转换
在从键盘或网络获取数据时,如果获取的数据类型不符合处理的要求,可以将数据转换为符合要求的数据类型。数据类型转换有两种,即隐式转换和显式转换。
● 隐式转换
隐式转换即强制转换。通常,隐式转换不需要用户添加代码,其执行是由Adobe Flash Player的AVM2虚拟机自动进行的。例如,将整数256定义为Boolean型数据,如下所示。
var a:Boolean=256;//定义名称为a的变量为Boolean型数据,并赋值为256。
trace (typeof(a));//输出变量a的数据类型
在Flash CS3中编译这段代码时,系统会显示警告信息,并输出变量a的数据类型,警告信息如下。
Warning:3590:在需要 Boolean 值的地方使用了 int。表达式会被强制转换为 Boolean 类型。
● 显式转换
显式转换主要应用于在严格的解释模式下对数据类型进行操作,是通过用户的赋值等操作对变量的数据类型进行的转换。进行显式转换必须设置转换的数据类型,如下所示。
var a:String ="512";//定义名称为a的变量为字符串型数据,并赋值为512
var a:int=int(a);//将变量转换为整型数据
trace (typeof(a));//输出变量a的数据类型
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论