转自http://www.zhuoqun.net/html/y2007/654.html

每一种编程语言都提供强制类型转换,允许你将某一种数据类型转换成另一种数据类型,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的人有些提示。

注:以上技巧我只在Flex 中验证过,本人对Flash一窍不通,不保证也适用于 Flash中的 AS3.0 。

转载于:https://www.cnblogs.com/zjhnl/archive/2011/07/04/2097810.html

AS3中的强制类型转换相关推荐

  1. C++编程进阶4(C++中的强制类型转换运算符、不要返回自定义类内部成员的指针,引用和迭代器)

    十五.C++中的强制类型转换 C语言中的强制类型转换方式有两种 T i = (T)exp; T i = T(exp); 这两种方式没有差别,C++中也支持这两种方式,但是和C++中的强制类型转换运算符 ...

  2. (计算机组成原理)第二章数据的表示和运算-第二节7:详解C语言中的强制类型转换

    文章目录 (1)无符号数和有符号数 (2)长整数变为短整数 (3)短整数变为长整数 在学习完前面几节的内容后,相信大家对数据是如何在计算机中存储.运算的有了更加深入的认识,那么接下来我们就以更深层次的 ...

  3. [强制类型转换]C语言中的强制类型转换相关

       问题描述:C语言中的强制类型转换许多时候是隐式的,而在未注意时很可能代码会进行隐式转换而造成运行结果不正确.因此打算对C语言的类型转换做下整理和学习,发现这篇文章总结的很好,于是转载下来,原文地 ...

  4. 【C++深度剖析教程34】C++中的强制类型转换dynamic_cast

    加qq1126137994 微信:liu1126137994 一起学习更多技术!!! C++中的继承中,如何使用强制类型转换? 知识点: dynamic_cast是与继承相关的类型转换关键字 dyna ...

  5. java中的强制类型转换注意事项_浅谈Java中强制类型转换的问题

    为了更好的理解我们先看下面的例子: package com.yonyou.test; import java.util.ArrayList; import java.util.Iterator; im ...

  6. js中的强制类型转换和进制数表达

    强制的类型转换: String的转换 var a = 123;console.log(typeof a); //stringconsole.log(a); //123 方式一: ----调用被转换类型 ...

  7. JavaScript 中的强制类型转换

    JavaScript 作为一个动态编程语言,其中的数据类型会随着程序运行而动态改变.对于很多人来说,强制类型转换很容易造成程序出错,而要记住所有的转换方式又是一件不那么容易的事情.比如下面这张 Jav ...

  8. Java中的强制类型转换

    尽管自动类型转换是很方便的,但并不能满足所有的编程需要. 例如,当程序中需要将 double 型变量的值赋给一个 int 型变量,该如何实现呢? 显然,这种转换是不会自动进行的!因为 int 型的存储 ...

  9. 简单介绍java中的强制类型转换

    强制类型转换的概念 将一个类型强制转换成另一个类型的过程称为强制类型转换. 强制类型转换的使用 格式:所要转换的类型 变量名 = (所要转换的类型)原类型: 例子: double x = 3.14; ...

最新文章

  1. 《QTP自动化测试进阶》(1)
  2. R语言ggplot2可视化散点图、移除可视化图像中的网格线(remove gridlines)
  3. 成本、质量、人力资源要点
  4. maven_SonarQube中的Maven项目的单元和集成测试报告
  5. 连接端口 配置hive_Hadoop大数据平台数据仓库Hive管理操作
  6. 享元设计模式coding
  7. 我的2020年终总结:新的角色,新的开始
  8. 我的家乡河北涿州岐沟村(岐沟关)
  9. NAT技术与代理服务器
  10. 玻尔兹曼机(Boltzmann机)和深度置信网络基本概念
  11. 全国计算机等级考试——C语言二级 题库
  12. 用Python输出100以内的质数
  13. 1688API item_search_img - 按图搜索1688商品(拍立淘)
  14. linux音视频编解码工具,LINUX 音视频编解码
  15. 将阿拉伯数字转为中文数字读法
  16. 一文带你了解助贷行业
  17. html多行注释如何实现,javascript多行注释如何实现
  18. unity全栈开发是什么意思_为什么你应该尝试“全栈”
  19. 小觅深度相机kalibr标定
  20. eBay领军计划嘉湖专场顺利落幕,万企孵化专项行动启幕在即!

热门文章

  1. python人工智能基础课免费_【领卡免费学】Python基础课(完整大课)
  2. hdu1556 线段树段更新(简单题)
  3. hdu2594 简单KMP
  4. C语言经典例71-编写函数输出结构体数据
  5. 【运筹学】表上作业法 ( 最小元素法分析 | Vogel 方法 )
  6. 【Android 多媒体开发】 MediaPlayer 状态机 接口 方法 解析
  7. HTML5---19.地理定位的接口使用
  8. Jzoj3931【NOIP2014day1官方数据】联合权值
  9. es6-let 和 const
  10. 求幂运算、多项式乘法及Horner法则的应用