as” :主要用它做类型转化

假设有一个类叫做Class1,我们声明了一个它的对象 c1,如果想要将它转换成Class2类型,只要这样写:

Class2(c1);

AS3 中的操作符: as 实现就是这样:

c1 as Class2;

据说使用 as 操作符有几个好处

  1. 它的效果和第一种方法是一样的。
  2. 如果类型不兼容无法转换,就会返回null,而不是出错。这样你就可以自定义错误的时候该做什么。
  3. 没有运行时错误(Run Time Error)提示。

不过有些时候在使用 as 的时候并不能达到强制转换的目的,而使用第一种方法则可以。为什么 as 操作符有时候会不好用呢?原来在AS3.0类库中最高层类(Top Level classes,所有Top Level classes的列表)之间进行强制转换时, as 操作符是不起作用的。比如,假如你想要将一个String 类型的字符串 str 转换成 Number 类型的数字 num 时,可能想要这样写:

num = str as Number;

这样写是没有用的,你只能通过第一种方法来达到强制转换的目的:

num = Number(str);

实例:保留两位小数

private var a:Number=3.1234;
a=a.toFixed(2) as Number;
trace(a);
//输出:0 private var a:Number=3.1234;
a=Number(a.toFixed(2));
trace(a);
//输出:3.12


Top Level classes 的列表(详情操作API文档,左侧顶部--》顶层)


"typeof ": 获取基本数据的类型

用法:

alert(typeof (5));  //number

alert(typeof (true));  //boolean

alert(typeof ("abc"));  //string

说明:

typeof 返回值有六种可能: "number," "string," "boolean," "object," "function," 和 "undefined."


"instanceof ": 对象是否为某个类的实例

用法:

trace(obj instanceof Panel);

说明:

如果 objectclass 的一个实例,则 instanceof 运算符返回 true 。如果 object 不是指定类的一个实例,或者objectnull ,则返回 false

trace(objTest(new Date));  

private function objTest(obj:Object):String {
var i:Object;
var s:String = ""; // 创建变量。
var t:Array = new Array(); // 创建一个数组。
t["Date"] = Date; // 充填数组。
t["Object"] = Object;
t["Array"] = Array;
for (i in t) {
if (obj instanceof t[i]) // 检查 obj 的类。
{
s += "obj is an instance of " + i + "\n";
} else {
s += "obj is not an instance of " + i + "\n";
}
}
return (s); // 返回字符串。
}
/* obj is an instance of Object
obj is an instance of Date
obj is not an instance of Array */

is”: 对象是否为某个类的实例

在使用“instanceof ”的地方,IDE会提示:-3555: 已不再使用 instanceof 运算符,请改用 is 运算符。

【Flex教程】#009 As/typeof /instanceof /is的作用的更多相关文章

  1. 【FLEX教程】#008 开发中的问题笔记(慢更…)

    在这里记录一下个人在FLEX开发中遇到的一些问题.方便一些遇到同样问题的朋友们,能够快速的解决这些问题. 这篇笔记我会慢慢的更新,(PS:有遇到问题就往上面更….) 2015年1月4日 12:53:5 ...

  2. Flex教程

    详细教程: 1.基础知识:一劳永逸的搞定 flex 布局 2.阮一峰的flex教程:flex syntax   flex example

  3. php中 instanceof有什么作用

    php中 instanceof有什么作用 作用:(1)判断一个对象是否是某个类的实例,(2)判断一个对象是否实现了某个接口.

  4. 小tip:关于typeof,instanceof,toString(),valueOf(),toLocaleString(),join(),reverse(),sort(),pop(),push(),shift(),unshift()

    typeof:用于检测一个变量是否是基本数据类型.instanceof用于检测某引用对象是什么类型的对象. var s = "Nicho"; var b = true; var n ...

  5. valueOf() toString() typeof instanceof

    ******在chrome console中运行{a:1}.valueOf(); 报错:"SyntaxError: Unexpected token . ",这是由于{}被js引擎 ...

  6. typeof instanceof 之间的区别总结

        typeof   它返回值是一个字符串,该字符串说明运算数的类型. a=1; b=true; c="c"; d=function(){ console.log(" ...

  7. typeof instanceof

    typeof用以获取一个变量的类型,typeof一般只能返回如下几个结果:number,boolean,string,function,object,undefinedinstanceof用于判断一个 ...

  8. Javascript中typeof instanceof constructor的区别

    typeof typeof,是一个运算符,运算中需要一个操作数,运算的结果就是这个操作数的类型,运算的结果是一个字符串.他有一定的局限性,对于对象类型的值,只能得到一个object结果,却不能精确得到 ...

  9. 推断js中的类型:typeof / instanceof / constructor / prototype

    怎样推断js中的类型呢,先举几个样例: var a = "jason"; var b = 123; var c = true; var d = [1,2,3]; var e = n ...

随机推荐

  1. 再看erlang的socket部分基础

    socket的选项里面的{packet,0}和{packet,raw}的区别 {packet,} erlang处理2字节大端包头 {packet,} erlang处理4字节大端包头 {packet,} ...

  2. MSSQL update 多表关联更新

    update tMeter set 字段= t.源自段 from ( select * from 源表信息 ) t where 关联条件 实际demo: UPDATE dbo.WX_TWODIMENC ...

  3. 好的博客mark

    1. http://blog.csdn.net/zqixiao_09/article/month/2016/03 涉及面光,包括上层/底层, uboot/kernel/rootfs/driver.

  4. ulipad 常用快捷键

    快捷键名称 对应功能 F1 (M)UliPad Help Document(帮助文档) F2 (M)Directory Browser(目录浏览)(3.1版新增) F3 (M)Find Next(查找 ...

  5. NOR Flash擦写和原理分析 (一)

    1. NOR FLASH 的简单介绍 NOR FLASH 是很常见的一种存储芯片,数据掉电不会丢失.NOR FLASH支持Execute On Chip,即程序可以直接在FLASH片内执行(这意味着存 ...

  6. ADF_ADF Faces系列3_ADF数据可视化组件简介之建立Master-Detail

    2013-05-01 Created By BaoXinjian

  7. [rm] Linux 防止"rm -rf /" 误删除

    一.缘由: 最近看到这则新闻,很是悲伤,因为我最近也在用ansible:然而这一错误源自Ansible上糟糕的代码设计,这款Linux实用工具被用于在多台不同服务器上自动执行脚本. 开发者解释到,实际 ...

  8. 为什么学习html5

    html5  2010年正式推出 新的web时代 优势: 1,跨平台运行                      PC MAC LINUX 手机 PAD 2,硬件要求低 3,flash之外的选择 h ...

  9. LInux SSH远程文件/目录传输命令scp(转载)

    From:http://www.vpser.net/manage/scp.html 相信各位VPSer在使用VPS是经常会在不同VPS间相互备份数据或转移数据.一般情况下VPS都已安装了Ngnix或者 ...

  10. java多线程之从任务中获取返回值

    package wzh.test; import java.util.ArrayList; import java.util.concurrent.Callable; import java.util ...