AS中的强制类型转换
日期:2008-12-20 阅读:183 分类:Flex~Flash
每一种编程语言都提供强制类型转换,允许你将某一种数据类型转换成另一种数据类型,AS3自然也不例外。但是虽然我编写了不少Flex程序,对AS3中的强制类型转换还是不太清楚,以前AS中是这样进行强制类型转换的:假设有一个类叫做Class1,我们声明了一个它的对象 c1,如果想要将它转换成Class2类型,只要这样写:
Class2(c1);
在AS3中你依然可以这样写,但是AS3 中提供了一个新的操作符:
as ,并且推荐使用as 进行强制转换,上述的例子用 as 操作符实现就是这样:
c1 as Class2;
使用 as 操作符有几个好处:
1.它的效果和第一种方法是一样的。
2.如果类型不兼容无法转换,就会返回null,而不是出错。这样你就可以自定义错误的时候该做什么。
3.没有运行时错误(Run
Time Error)提示。
不过有些时候我在使用 as 的时候并不能达到强制转换的目的,而使用第一种方法则可以。为什么 as 操作符有时候会不好用呢?这个问题困扰了我很久,知道昨天在MXNA上发现了一篇日志,才恍然大悟:原来在AS3.0类库中最高层类(Top Level classes,所有Top Level classes的列表请看这里)之间进行强制转换时, as 操作符是不起作用的。比如,假如你想要将一个String 类型的字符串 str 转换成 Number 类型的数字 num 时,可能想要这样写:
num = str as Number;
这样写是没有用的,你只能通过第一种方法来达到强制转换的目的:
num = Number(str);
特别感谢raghuonflex对此做了说明,也希望这些对学习Flex的人有些提示。
from:http://www.zhuoqun.net/html/y2007/654.html
相关文章
- 在Flex中使用CSS 2008-12-18
- Flex添加事件监听 2008-12-18
- Flex编码的过程分析 2008-12-22
- 不错的flex资料站点 2008-11-02
- Flex简单开发环境 2008-11-01
- 升级Flash Player之后如何卸载干净并安装低版本 2011-10-11
- Javascript在chrome中辅助预订火车票的方法 2012-01-06
- msxml3.dll错误'800c0005'系统错误: -2146697211 2012-01-04
- 一款不错的日历控件 2008-07-31
- getElementsByClassName 2008-07-21
- 程序员笑话:int类型占几个字节? 2011-12-26
- JavaScript有关的10个怪癖和秘密 2011-10-12
- JavaScript中的原始类型 2009-04-20
- Javascript中使用值直接调用其类型的方法 2011-10-12
- 文档类型和网页浏览器 2009-01-19
- 将Json格式的数据转换为XML 2011-10-21
- Linux Shell下后台运行及其前台的转换 2011-09-20
- Javascript数值之间的进制转换 2011-10-23
- Google Swiffy变身Flash扩展,可将flash转换为HTML5 2011-11-17
- java的强制类型转换 2010-05-14