`
wangangie20
  • 浏览: 45879 次
  • 性别: Icon_minigender_2
  • 来自: 厦门
最近访客 更多访客>>
社区版块
存档分类
最新评论

AS3 中的is与as操作符

阅读更多

(1) is运算符 
在AS3.0新增加的is运算符,主要功能是判断一个变量或者等式是不是等于给定的数据类型,在以前的版本中,有instanceof来实现相同的功能。 
但是is 运算符可以帮助我们确定数据类型,还可以判断类的继承关系,包括对于接口的继承执行。 
可以看如下实例:  
var mySprite:Sprite = new Sprite();  
trace(mySprite is Sprite); //output:true  
trace(mySprite is DisplayObject); //output:true  
trace(mySprite is IEventDispatcher); //output:true  
如果将is用instanceof来代替的,那么执行情况将如下:  
trace(mySprite instanceof Sprite); //output:true  
trace(mySprite instanceof DisplayObject); //output:true  
trace(mySprite instanceof IEventDispatcher); //output:false 
主要的区别在于对于接口的判断,在AS3.0中, Sprite继承自EventDispatcher类,而该类正好执行了IEventDispatcher接口。 
(2)as运算符 
AS3.0中新增加的运算符,也是用来判断一个给定的表达式是否符合所给定的数据类型,与is类似,但是不同之处在于返回值。as返回用表达式的结果代替了is返回的true,用null代替了is返回的false. 
例如: 
trace(mySprite as Sprite); //output: [object Sprite]  
trace(mySprite as DisplayObject); //output: [object Sprite]  
trace(mySprite as IEventDispatcher); //output: [object Sprite]  
trace(mySprite as Number); //output: null  
在AS3中,已经不赞成使用instanceof操作符用is取而代之了。的确有了is操作后,比以前方便多了。
本文转自:http://www.5uflash.com/flashjiaocheng/Flash-as3-jiaocheng/274.html
分享到:
评论

相关推荐

    C#中的is和as操作符区别小结

    主要介绍了C#中的is和as操作符区别小结,is是验证操作对象是不是自己希望的,as是将对象转换成指定类型,需要的朋友可以参考下

    浅谈类型转换操作符is/as

    浅谈类型转换操作符is/as,需要的朋友可以参考一下

    .net中as和is之间的区别分析

    as 运算符无法执行其他转换,如用户定义的转换,这类转换应使用 cast 表达式来执行 as操作符不会做过的转换操作,当需要转化对象的类型属于转换目标类型或者转换目标类型的派生类型时,那么此转换操作才

    Oracle P/L SQL实现发送Email、浏览网页等网络操作功能

    as_Separator in VarChar2 Default '/' --分拆依据的分隔符, )Return VarChar2; --分拆结果A --将Clob内容写入物理文件 --Exec UTL_INet.p_PutClob2File( as_FileName => 'aa.sql', ac_Text => '...

    Delphi的原子世界简介

    从概念上说,TClass是类的类型,即,类之类。但是,我们知道DELPHI的一个类,代表着...有兴趣的朋友可以读一读System单元的AsClass和IsClass两个汇编过程,他们是as和is操作符的实现代码,以加深对类和VMT数据的理解。

    C#5.0本质论第四版(因文件较大传的是百度网盘地址)

    6.6 使用as操作符进行转换 210 6.7 小结 211 第7章 接口 213 7.1 接口概述 213 7.2 通过接口实现多态性 215 7.3 接口实现 218 7.3.1 显式成员实现 220 7.3.2 隐式成员实现 221 7.3.3 ...

    Python中的关键字、基本语法规则及标准操作符

    (3)判断与循环:If,elif,else,is,in,assert , and , or , not (4)循环:for,while,continue,break,pass (5)异常:with , raise,try,except,finally,as 2)关键字的含义: 3)常用关键字的...

    Kotlin 语言文档

    2类型的检查与转换“is”与“as” 94 This 表达式 96 相等性 97 操作符重载 98 空安全 102 异常 104 注解 106 反射 110 类型安全的构建器 113 参考 119 关键字与操作符 119 Grammar 123 Notation 123 Semicolons 123...

    Visual C#2010 从入门到精通(Visual.C#.2010.Step.By.Step).完整去密码锁定版 I部分

    8.8.2 as操作符 150 第8章快速参考 152 第9章 使用枚举和结构来创建值类型 155 9.1 使用枚举 155 9.1.1 声明枚举 155 9.1.2 使用枚举 156 9.1.3 选择枚举文字常量值 157 9.1.4 选择枚举的基本类型 157 9.2 ...

    2009 达内Unix学习笔记

    三、通用后接命令符 -a 所有(all)。 -e 所有(every),比a更详细。 -f 取消保护。 -i 添加提示。 -p 强制执行。 -r 目录管理。 分屏显示的中途操作 空格<space> 继续打开下一屏; 回车<return> 继续打开...

    c# 类型转换

    CLR允许将一个对象转换为它的实际类型,或者它的基类型。... c#中is as的操作符用法 在c#语言中,进行类型转换的另一个方式是使用is as操作符。 is:检查对象是否兼容指定对象,返回bool类型。 例: object o = new ob

    C++MFC教程

    在16位的系统中系统中只有一个消息队列,所以系统必须等待当前任务处理消息后才可以发送下一消息到相应程序,如果一个程序陷如死循环或是耗时操作时系统就会得不到控制权。这种多任务系统也就称为协同式的多任务系统...

    C#与.NET技术平台实战演练.part2

    8使用访问修饰符8-9建立嵌套类8-10名称空间8-10-1声明名称空间8-10-2名称空间的领域8-10-3使用名称空间的好处8-10-4名称空间存取控制8-11完全区别名称8-12使用using前置命令建立阶层式类结构8-13使用别名8-14使用...

    [原创]自己工作中常用的模板库,简化你的工作

    提供模板化的指针操作符,如果不支持用户指定指针类型,则转换结果为NULL,从而保证正确性。 ☆ package any object(CAnyObject), it operator function is template-based. if it doesn't support conversion, it ...

    C#与.NET技术平台实战演练.part1

    8使用访问修饰符8-9建立嵌套类8-10名称空间8-10-1声明名称空间8-10-2名称空间的领域8-10-3使用名称空间的好处8-10-4名称空间存取控制8-11完全区别名称8-12使用using前置命令建立阶层式类结构8-13使用别名8-14使用...

    CLR.via.C#.(中文第3版)(自制详细书签)Part3

    4.2.1 使用C#的is和as操作符来转型 4.3 命名空间和程序集 4.4 运行时的相互联系 第5章 基元类型、引用类型和值类型 5.1 编程语言的基元类型 5.1.1 checked和unchecked基元类型操作 5.2 引用类型和值类型 5.3...

    Oraclet中的触发器

    它可以在ORACLE数据库系统的事件中进行触发,如ORACLE系统的启动与关闭等。 触发器组成: 触发事件:即在何种情况下触发TRIGGER; 例如:INSERT, UPDATE, DELETE。 触发时间:即该TRIGGER 是在触发事件发生之前...

    freemarker总结

    其它的运行符可以作用于数字和日期,但不能作用于字符串,大部分的时候,使用gt等字母运算符代替>会有更好的效果,因为 FreeMarker会把>解释成FTL标签的结束字符,当然,也可以使用括号来避免这种情况,如:(x>y)> ...

    CLR.via.C#.(中文第3版)(自制详细书签)

    4.2.1 使用C#的is和as操作符来转型 4.3 命名空间和程序集 4.4 运行时的相互联系 第5章 基元类型、引用类型和值类型 5.1 编程语言的基元类型 5.1.1 checked和unchecked基元类型操作 5.2 引用类型和值类型 5.3 ...

Global site tag (gtag.js) - Google Analytics